WebSocket: Add binaryType attribute
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-08-10  Yuta Kitamura  <yutak@chromium.org>
2
3         WebSocket: Add binaryType attribute
4         https://bugs.webkit.org/show_bug.cgi?id=65967
5
6         Reviewed by Kent Tamura.
7
8         Add a new attribute "binaryType" to WebSocket. It controls the data type of MessageEvent
9         for WebSocket's binary frames.
10
11         Tests: http/tests/websocket/tests/hixie76/undefined-attributes.html
12                http/tests/websocket/tests/hybi/binary-type.html
13
14         * websockets/WebSocket.cpp:
15         (WebCore::WebSocket::WebSocket):
16         (WebCore::WebSocket::binaryType):
17         (WebCore::WebSocket::setBinaryType):
18         * websockets/WebSocket.h:
19         * websockets/WebSocket.idl:
20
21 2011-08-10  Yuta Kitamura  <yutak@chromium.org>
22
23         WebSocket: Accept multiple subprotocols
24         https://bugs.webkit.org/show_bug.cgi?id=65247
25
26         Reviewed by Kent Tamura.
27
28         WebSocket constructor should accept an array of subprotocols if hybi-10 protocol is chosen.
29
30         Tests: http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html
31                http/tests/websocket/tests/hybi/invalid-subprotocols.html
32                http/tests/websocket/tests/hybi/multiple-subprotocols.html
33                http/tests/websocket/tests/hybi/workers/multiple-subprotocols.html
34
35         * bindings/js/JSWebSocketCustom.cpp:
36         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
37         If the second argument of WebSocket constructor is an array, build a Vector<String> and
38         pass it to WebSocket::connect().
39         * bindings/v8/custom/V8WebSocketCustom.cpp:
40         (WebCore::V8WebSocket::constructorCallback):
41         Ditto.
42         * websockets/WebSocket.cpp:
43         (WebCore::isValidProtocolCharacter): Added.
44         (WebCore::isValidProtocolString): Added.
45         (WebCore::isValidProtocolStringHixie76): Renamed from isValidProtocolString.
46         (WebCore::joinStrings):
47         (WebCore::WebSocket::connect):
48         If an array is provided as a subprotocol, and if hixie-76 is used for this connection, it
49         must be converted to a string in the same manner as JavaScript's Array.toString() in order
50         to keep compatibility.
51         * websockets/WebSocket.h:
52         Removed m_protocol because it was not used at all.
53         * websockets/WebSocketChannel.cpp:
54         (WebCore::WebSocketChannel::disconnect):
55         WebSocketChannel may be released before connect() is called, thus m_handshake may be null.
56
57 2011-08-10  Andrey Kosyakov  <caseq@chromium.org>
58
59         Web Inspector: Network panel always displays file:// resources as "(pending)"
60         https://bugs.webkit.org/show_bug.cgi?id=65784
61
62         Reviewed by Pavel Feldman.
63
64         Test: inspector/network-status-non-http.html
65
66         * English.lproj/localizedStrings.js:
67         * inspector/front-end/NetworkPanel.js:
68         (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
69         * inspector/front-end/Resource.js:
70         (WebInspector.Resource.prototype.isHttpFamily):
71
72 2011-08-09  Luke Macpherson   <macpherson@chromium.org>
73
74         Use setFontDescription helper to set m_fontDirty.
75         https://bugs.webkit.org/show_bug.cgi?id=65956
76
77         Reviewed by Dan Bernstein.
78
79         No new tests / trivial cleanup.
80
81         * css/CSSStyleSelector.cpp:
82         (WebCore::CSSStyleSelector::applyProperty):
83
84 2011-08-09  Dominic Cooney  <dominicc@chromium.org>
85
86         [V8] The prototype property of DOM constructors should be read-only.
87         https://bugs.webkit.org/show_bug.cgi?id=39655
88
89         Reviewed by Dimitri Glazkov.
90
91         Test: fast/dom/prototype-property.html
92
93         * bindings/scripts/CodeGeneratorV8.pm: Make prototypes read-only.
94         * bindings/scripts/test/V8/V8TestInterface.cpp: Update expectations.
95         (WebCore::ConfigureV8TestInterfaceTemplate):
96         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
97         (WebCore::ConfigureV8TestMediaQueryListListenerTemplate):
98         * bindings/scripts/test/V8/V8TestObj.cpp:
99         (WebCore::ConfigureV8TestObjTemplate):
100         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
101         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
102
103 2011-08-09  Abhishek Arya  <inferno@chromium.org>
104
105         Style change not propagating for before, after content
106         for table parts.
107         https://bugs.webkit.org/show_bug.cgi?id=51862
108
109         Fix by Chris Evans (cevans@chromium.org).
110         In the table case, make sure to return the before /
111         after parent rather then the before / after node
112         itself.
113
114         Reviewed by Simon Fraser.
115
116         * rendering/RenderObjectChildList.cpp:
117         (WebCore::findBeforeAfterParent):
118
119 2011-08-09  Luke Macpherson   <macpherson@chromium.org>
120
121         Implement string based properties in CSSStyleApplyProperty.
122         https://bugs.webkit.org/show_bug.cgi?id=65662
123
124         Reviewed by Darin Adler.
125
126         No new tests / refactoring only.
127
128         * css/CSSStyleApplyProperty.cpp:
129         (WebCore::ApplyPropertyString::ApplyPropertyString):
130         Added class to handle string based properties.
131         (WebCore::ApplyPropertyString::applyValue):
132         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
133         Add initializers for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
134         * css/CSSStyleSelector.cpp:
135         (WebCore::CSSStyleSelector::applyProperty):
136         Remove existing implementations for CSSPropertyWebkitHighlight and CSSPropertyWebkitHyphenateCharacter.
137
138 2011-08-09  Emil A Eklund  <eae@chromium.org>
139
140         Switch RenderBlock to to new layout types
141         https://bugs.webkit.org/show_bug.cgi?id=65396
142
143         Reviewed by Eric Seidel.
144
145         No new tests, no new functionality.
146
147         * rendering/RenderBlock.cpp:
148         (WebCore::RenderBlock::MarginInfo::MarginInfo):
149         (WebCore::RenderBlock::layoutBlock):
150         (WebCore::RenderBlock::addOverflowFromChildren):
151         (WebCore::RenderBlock::computeOverflow):
152         (WebCore::RenderBlock::adjustPositionedBlock):
153         (WebCore::RenderBlock::adjustFloatingBlock):
154         (WebCore::RenderBlock::collapseMargins):
155         (WebCore::RenderBlock::clearFloatsIfNeeded):
156         (WebCore::RenderBlock::estimateLogicalTopPosition):
157         (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
158         (WebCore::RenderBlock::setLogicalLeftForChild):
159         (WebCore::RenderBlock::setLogicalTopForChild):
160         (WebCore::RenderBlock::layoutBlockChildren):
161         (WebCore::RenderBlock::layoutBlockChild):
162         (WebCore::RenderBlock::flipFloatForWritingMode):
163         (WebCore::RenderBlock::isPointInOverflowControl):
164         (WebCore::RenderBlock::hitTestFloats):
165         * rendering/RenderBlock.h:
166         (WebCore::RenderBlock::logicalTopForFloat):
167         (WebCore::RenderBlock::logicalBottomForFloat):
168         (WebCore::RenderBlock::logicalLeftForFloat):
169         (WebCore::RenderBlock::logicalRightForFloat):
170         (WebCore::RenderBlock::logicalWidthForFloat):
171         (WebCore::RenderBlock::setLogicalTopForFloat):
172         (WebCore::RenderBlock::setLogicalLeftForFloat):
173         (WebCore::RenderBlock::setLogicalHeightForFloat):
174         (WebCore::RenderBlock::setLogicalWidthForFloat):
175
176 2011-08-09  Jeffrey Pfau  <jpfau@apple.com>
177
178         Initial pass at a new XML tree builder
179         https://bugs.webkit.org/show_bug.cgi?id=65803
180
181         Reviewed by Adam Barth.
182
183         * GNUmakefile.list.am:
184         * WebCore.gypi:
185         * WebCore.pro:
186         * WebCore.vcproj/WebCore.vcproj:
187         * WebCore.xcodeproj/project.pbxproj:
188         * xml/parser/NewXMLDocumentParser.cpp:
189         (WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
190         (WebCore::NewXMLDocumentParser::~NewXMLDocumentParser):
191         (WebCore::NewXMLDocumentParser::append):
192         (WebCore::NewXMLDocumentParser::finish):
193         (WebCore::NewXMLDocumentParser::finishWasCalled):
194         * xml/parser/NewXMLDocumentParser.h:
195         * xml/parser/XMLTreeBuilder.cpp: Added.
196         (WebCore::XMLTreeBuilder::XMLTreeBuilder):
197         (WebCore::XMLTreeBuilder::processToken):
198         (WebCore::XMLTreeBuilder::pushCurrentNode):
199         (WebCore::XMLTreeBuilder::popCurrentNode):
200         (WebCore::XMLTreeBuilder::processProcessingInstruction):
201         (WebCore::XMLTreeBuilder::processXMLDeclaration):
202         (WebCore::XMLTreeBuilder::processDOCTYPE):
203         (WebCore::XMLTreeBuilder::processStartTag):
204         (WebCore::XMLTreeBuilder::processEndTag):
205         (WebCore::XMLTreeBuilder::processCharacter):
206         (WebCore::XMLTreeBuilder::processCDATA):
207         (WebCore::XMLTreeBuilder::processComment):
208         (WebCore::XMLTreeBuilder::processEntity):
209         (WebCore::XMLTreeBuilder::processNamespaces):
210         (WebCore::XMLTreeBuilder::processAttributes):
211         (WebCore::XMLTreeBuilder::processXMLEntity):
212         (WebCore::XMLTreeBuilder::processHTMLEntity):
213         (WebCore::XMLTreeBuilder::add):
214         (WebCore::XMLTreeBuilder::appendToText):
215         (WebCore::XMLTreeBuilder::enterText):
216         (WebCore::XMLTreeBuilder::exitText):
217         (WebCore::XMLTreeBuilder::NodeStackItem::NodeStackItem):
218         (WebCore::XMLTreeBuilder::NodeStackItem::hasNamespaceURI):
219         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
220         (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
221         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceForPrefix):
222         * xml/parser/XMLTreeBuilder.h: Added.
223         (WebCore::XMLTreeBuilder::create):
224         (WebCore::XMLTreeBuilder::NodeStackItem::namespaceURI):
225         (WebCore::XMLTreeBuilder::NodeStackItem::setNamespaceURI):
226         (WebCore::XMLTreeBuilder::NodeStackItem::node):
227         (WebCore::XMLTreeBuilder::NodeStackItem::setNode):
228
229 2011-08-09  Mark Hahnenberg  <mhahnenberg@apple.com>
230
231         Add ParentClass typedef in all JSC classes
232         https://bugs.webkit.org/show_bug.cgi?id=65731
233
234         Reviewed by Oliver Hunt.
235
236         No new tests.
237
238         Just added the Base typedefs in all the classes that are a subclass of JSCell 
239         to point at their parent classes.  This is a change to support future changes to the way
240         constructors and destructors are implemented in JS objects, among other things.
241
242         * bindings/js/JSAudioConstructor.h:
243         * bindings/js/JSImageConstructor.h:
244         * bindings/js/JSOptionConstructor.h:
245         * bindings/scripts/CodeGeneratorJS.pm:
246         (GenerateHeader):
247         (GenerateConstructorDeclaration):
248         * bindings/scripts/test/JS/JSTestInterface.cpp:
249         * bindings/scripts/test/JS/JSTestInterface.h:
250         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
251         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
252         * bindings/scripts/test/JS/JSTestObj.cpp:
253         * bindings/scripts/test/JS/JSTestObj.h:
254         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
255         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
256         * bridge/c/CRuntimeObject.h:
257         * bridge/c/c_instance.cpp:
258         * bridge/jni/jsc/JavaInstanceJSC.cpp:
259         * bridge/jni/jsc/JavaRuntimeObject.h:
260         * bridge/objc/ObjCRuntimeObject.h:
261         * bridge/objc/objc_runtime.h:
262         * bridge/qt/qt_instance.cpp:
263         * bridge/qt/qt_pixmapruntime.cpp:
264         * bridge/qt/qt_runtime.h:
265         * bridge/runtime_array.h:
266         * bridge/runtime_method.h:
267         * bridge/runtime_object.h:
268         * bridge/testqtbindings.cpp:
269         (Global::className):
270
271 2011-08-09  Alexei Svitkine  <asvitkine@chromium.org>
272
273         [Chromium] Enable rubber banding when scrolling.
274
275         https://bugs.webkit.org/show_bug.cgi?id=65707
276
277         Reviewed by Dimitri Glazkov.
278
279         No new tests since this is just syncing changes to chromium platform.
280
281         * platform/PlatformWheelEvent.h:
282         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
283         * platform/chromium/ScrollAnimatorChromiumMac.mm:
284         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
285
286 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
287
288         Web Inspector: XHRs end up in the resources panel.
289         https://bugs.webkit.org/show_bug.cgi?id=60321
290
291         Reviewed by Pavel Feldman.
292
293         Test: http/tests/inspector/resource-tree/resource-tree-no-xhrs.html
294
295         * inspector/front-end/ResourceTreeModel.js:
296         (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
297         * inspector/front-end/ResourcesPanel.js:
298         (WebInspector.ResourcesPanel):
299
300 2011-08-08  Adrienne Walker  <enne@google.com>
301
302         Add testing for --force-compositing-mode to windows.internal
303         https://bugs.webkit.org/show_bug.cgi?id=65777
304
305         Reviewed by Adam Barth.
306
307         Test: platform/chromium/compositing/force-compositing-mode/force-composite-empty.html
308
309         Move initial initialization to settings caching function so that RLC
310         picks up changes to the force compositing mode flag.
311
312         * WebCore.exp.in:
313         * rendering/RenderLayerCompositor.cpp:
314         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
315         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
316         (WebCore::RenderLayerCompositor::updateCompositingLayers):
317         * testing/Internals.cpp:
318         (WebCore::Internals::setForceCompositingMode):
319         * testing/Internals.h:
320         * testing/Internals.idl:
321
322 2011-08-09  Alexandru Chiculita  <achicu@adobe.com>
323
324         Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup
325         https://bugs.webkit.org/show_bug.cgi?id=65871
326
327         Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
328         sure the tree is updated correctly when a float is repositioned.
329
330         Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
331         client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
332         and would be hard to test that the change is not breaking anything.
333
334         Reviewed by Dave Hyatt.
335
336         No new tests, just a refactor on the floating objects data structure.
337
338         * WebCore.xcodeproj/project.pbxproj:
339         * platform/PODIntervalTree.h:
340         (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
341         (WebCore::PODIntervalSearchAdapter::lowValue):
342         (WebCore::PODIntervalSearchAdapter::highValue):
343         (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
344         (WebCore::PODIntervalTree::PODIntervalTree):
345         (WebCore::PODIntervalTree::allOverlaps):
346         (WebCore::PODIntervalTree::allOverlapsWithAdapter):
347         (WebCore::PODIntervalTree::searchForOverlapsFrom):
348         * platform/PODRedBlackTree.h:
349         (WebCore::PODRedBlackTree::PODRedBlackTree):
350         (WebCore::PODRedBlackTree::clear):
351         (WebCore::PODRedBlackTree::isInitialized):
352         (WebCore::PODRedBlackTree::initIfNeeded):
353         (WebCore::PODRedBlackTree::add):
354         (WebCore::PODRedBlackTree::remove):
355         (WebCore::PODRedBlackTree::contains):
356         (WebCore::PODRedBlackTree::visitInorder):
357         (WebCore::PODRedBlackTree::size):
358         (WebCore::PODRedBlackTree::checkInvariants):
359         (WebCore::PODRedBlackTree::dump):
360         * rendering/RenderBlock.cpp:
361         (WebCore::RenderBlock::styleDidChange):
362         (WebCore::RenderBlock::addOverflowFromFloats):
363         (WebCore::RenderBlock::repaintOverhangingFloats):
364         (WebCore::RenderBlock::paintFloats):
365         (WebCore::RenderBlock::selectionGaps):
366         (WebCore::RenderBlock::insertFloatingObject):
367         (WebCore::RenderBlock::removeFloatingObject):
368         (WebCore::RenderBlock::removeFloatingObjectsBelow):
369         (WebCore::RenderBlock::positionNewFloats):
370         (WebCore::::collectIfNeeded):
371         (WebCore::RenderBlock::logicalLeftOffsetForLine):
372         (WebCore::RenderBlock::logicalRightOffsetForLine):
373         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
374         (WebCore::RenderBlock::lowestFloatLogicalBottom):
375         (WebCore::RenderBlock::addPositionedFloats):
376         (WebCore::RenderBlock::clearFloats):
377         (WebCore::RenderBlock::addOverhangingFloats):
378         (WebCore::RenderBlock::hasOverhangingFloat):
379         (WebCore::RenderBlock::addIntrudingFloats):
380         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
381         (WebCore::RenderBlock::hitTestFloats):
382         (WebCore::RenderBlock::adjustForBorderFit):
383         (WebCore::RenderBlock::FloatingObjects::clear):
384         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
385         (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
386         (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
387         (WebCore::RenderBlock::FloatingObjects::add):
388         (WebCore::RenderBlock::FloatingObjects::remove):
389         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
390         (WebCore::::string):
391         * rendering/RenderBlock.h:
392         (WebCore::RenderBlock::FloatingObject::FloatingObject):
393         (WebCore::RenderBlock::FloatingObject::setX):
394         (WebCore::RenderBlock::FloatingObject::setY):
395         (WebCore::RenderBlock::FloatingObject::setWidth):
396         (WebCore::RenderBlock::FloatingObject::setHeight):
397         (WebCore::RenderBlock::FloatingObject::setFrameRect):
398         (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
399         (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
400         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
401         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
402         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
403         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
404         (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
405         (WebCore::RenderBlock::FloatingObjects::set):
406         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
407         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
408         * rendering/RenderBlockLineLayout.cpp:
409         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
410         (WebCore::RenderBlock::linkToEndLineIfNeeded):
411         (WebCore::RenderBlock::matchedEndLine):
412         (WebCore::RenderBlock::positionNewFloatOnLine):
413
414 2011-08-08  Ryosuke Niwa  <rniwa@webkit.org>
415
416         Repeated copy and paste result in nested font elements
417         https://bugs.webkit.org/show_bug.cgi?id=65824
418
419         Reviewed by Tony Chang.
420
421         Modified isInlineNodeWithStyle to match font element. Also made the function match strictly with those nodes that
422         ApplyStyleCommand may add to avoid removing non-styling elements. And fixed a regression from r81887 that
423         ReplaceSelectionCommand may remove non-editing styles such as border in the attempt to avoid nesting styling elements.
424
425         This patch paves the way to fix the bug 34564.
426
427         Tests: editing/pasteboard/paste-text-with-style-2.html
428                editing/pasteboard/paste-text-with-style-3.html
429                editing/pasteboard/paste-text-with-style-4.html
430
431         * editing/EditingStyle.cpp:
432         (WebCore::HTMLElementEquivalent::matches): Takes const Element* instead of Element*.
433         (WebCore::HTMLAttributeEquivalent::matches): Ditto.
434         (WebCore::htmlElementEquivalents): Extracted from conflictsWithImplicitStyleOfElement.
435         (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Calls htmlElementEquivalents.
436         (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent): Added; determines whether an element is style span
437         or a styling element (e.g. b, i, font) possibly with editing style.
438         * editing/EditingStyle.h:
439         * editing/ReplaceSelectionCommand.cpp:
440         (WebCore::isInlineNodeWithStyle): Calls EditingStyle::elementIsStyledSpanOrHTMLEquivalent.
441         (WebCore::ReplaceSelectionCommand::doApply): More aggressively avoid nesting styling elements.
442         * editing/htmlediting.cpp:
443         (WebCore::highestEnclosingNodeOfType):
444         * editing/htmlediting.h:
445
446 2011-08-09  Dmitry Lomov  <dslomov@google.com>
447
448         https://bugs.webkit.org/show_bug.cgi?id=65778
449         [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
450
451         Reviewed by Dmitry Titov.
452
453         Covered by existing tests.
454
455         * bindings/v8/V8Binding.cpp:
456         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
457         * bindings/v8/V8Binding.h:
458         (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
459         (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
460         (WebCore::V8BindingPerIsolateData::globalHandleMap):
461         (WebCore::AllowAllocation::AllowAllocation):Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
462         (WebCore::AllowAllocation::~AllowAllocation):
463         (WebCore::AllowAllocation::current):
464         (WebCore::SafeAllocation::newInstance):
465         * bindings/v8/V8GCController.cpp:
466         (WebCore::currentGlobalHandleMap):
467         (WebCore::enumerateGlobalHandles):
468         (WebCore::V8GCController::registerGlobalHandle):
469         (WebCore::V8GCController::unregisterGlobalHandle):
470         * bindings/v8/V8HiddenPropertyName.cpp:
471         (WebCore::V8HiddenPropertyName::createString):
472         * bindings/v8/V8HiddenPropertyName.h:
473         (WebCore::V8HiddenPropertyName::V8HiddenPropertyName):
474         * bindings/v8/V8LazyEventListener.cpp:
475         (WebCore::V8LazyEventListener::prepareListenerObject):
476         * bindings/v8/V8NPObject.cpp:
477         * bindings/v8/V8Proxy.cpp:
478         (WebCore::V8Proxy::checkNewLegal):
479         * bindings/v8/V8Utilities.h:
480         * bindings/v8/WorkerContextExecutionProxy.cpp:
481         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
482         (WebCore::WorkerContextExecutionProxy::initIsolate):
483         * bindings/v8/WorkerContextExecutionProxy.h:
484         * bindings/v8/WorkerScriptController.cpp:
485         (WebCore::WorkerScriptController::scheduleExecutionTermination):
486
487 2011-08-09  Steve Block  <steveblock@google.com>
488
489         JavaString is not needed by V8
490         https://bugs.webkit.org/show_bug.cgi?id=65909
491
492         Removes the JavaString wrapper class, moves the JSC implementation
493         to JavaStringJSC.h and removes the V8 implementation.
494
495         Reviewed by Alexey Proskuryakov.
496
497         No new tests, refactoring only.
498
499         * GNUmakefile.list.am:
500         * WebCore.gypi:
501         * WebCore.xcodeproj/project.pbxproj:
502         * bridge/jni/JavaString.h: Removed.
503         * bridge/jni/jni_jsobject.mm:
504         * bridge/jni/jsc/JavaFieldJSC.h:
505         * bridge/jni/jsc/JavaInstanceJSC.cpp:
506         * bridge/jni/jsc/JavaMethodJSC.h:
507         * bridge/jni/jsc/JavaStringJSC.h:
508         (JSC::Bindings::JavaString::JavaString):
509         (JSC::Bindings::JavaString::~JavaString):
510         (JSC::Bindings::JavaString::init):
511         * bridge/jni/v8/JavaStringV8.h: Removed.
512
513 2011-08-09  Abhishek Arya  <inferno@chromium.org>
514
515         Regression(83075): Fix updateAlwaysCreateLineBoxes on information 
516         about full layout which is needed when dirtying lineboxes.
517         https://bugs.webkit.org/show_bug.cgi?id=65924
518
519         Reviewed by Dave Hyatt.
520
521         Test: fast/inline/update-always-create-line-boxes-full-layout-crash.html
522
523         * rendering/RenderBlockLineLayout.cpp:
524         (WebCore::RenderBlock::layoutInlineChildren):
525         * rendering/RenderInline.cpp:
526         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
527         * rendering/RenderInline.h:
528
529 2011-08-09  Nate Chapin  <japhet@chromium.org>
530
531         Remove receivedCancellation() from SubresourceLoaderClient.
532
533         http://bugs.webkit.org/show_bug.cgi?id=65330
534
535         Reviewed by Alexey Proskuryakov.
536
537         No new tests, no change in functionality intended.
538
539         * loader/DocumentThreadableLoader.cpp:
540         * loader/DocumentThreadableLoader.h:
541         * loader/SubresourceLoader.cpp:
542         * loader/SubresourceLoader.h:
543         * loader/SubresourceLoaderClient.h:
544         * loader/ThreadableLoaderClient.h:
545         * loader/WorkerThreadableLoader.cpp:
546         * loader/WorkerThreadableLoader.h:
547         * notifications/Notification.cpp:
548         * notifications/Notification.h:  Remove receivedCancellation() since it's
549            identical to didFail(), which is always called immediately after.
550         * workers/WorkerScriptLoader.cpp:
551         * workers/WorkerScriptLoader.h: Remove receivedCancellation() since it's
552            identical to didFail(), which is always called immediately after.
553         * xml/XMLHttpRequest.cpp:
554         * xml/XMLHttpRequest.h: Remove receivedCancellation().  All it does is
555            set m_response, which is cleared in didFail() before it can be used.
556
557 2011-08-09  Steve Block  <steveblock@google.com>
558
559         Java Bridge leaks local references
560         https://bugs.webkit.org/show_bug.cgi?id=64320
561
562         Reviewed by Alexey Proskuryakov.
563
564         No new tests as this is just an optimization.
565
566         * bridge/jni/jsc/JavaFieldJSC.cpp:
567         (JavaField::JavaField):
568         * bridge/jni/jsc/JavaMethodJSC.cpp:
569         (JavaMethod::JavaMethod):
570
571 2011-08-09  Pavel Feldman  <pfeldman@google.com>
572
573         Web Inspector: files from different domains are mixed in the file selector in Scripts panel
574         https://bugs.webkit.org/show_bug.cgi?id=65601
575
576         Reviewed by Yury Semikhatsky.
577
578         * inspector/front-end/ScriptsPanel.js:
579         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
580         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
581         (WebInspector.ScriptsPanel.prototype.reset):
582         * inspector/front-end/inspector.css:
583         (select.status-bar-item):
584
585 2011-08-09  Pavel Feldman  <pfeldman@google.com>
586
587         Web Inspector: provide a way to hide user agent styles
588         https://bugs.webkit.org/show_bug.cgi?id=37766
589
590         Reviewed by Yury Semikhatsky.
591
592         Test: inspector/styles/show-user-agent-styles.html
593
594         * English.lproj/localizedStrings.js:
595         * inspector/front-end/Settings.js:
596         (WebInspector.Settings):
597         * inspector/front-end/SettingsScreen.js:
598         (WebInspector.SettingsScreen):
599         * inspector/front-end/StylesSidebarPane.js:
600         (WebInspector.StylesSidebarPane):
601         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
602         (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
603         (WebInspector.StylesSidebarPane.prototype._createElementStatePane):
604         (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
605
606 2011-08-09  Steve Block  <steveblock@google.com>
607
608         JavaMethodJobject is no longer needed by V8
609         https://bugs.webkit.org/show_bug.cgi?id=65910
610
611         Reviewed by Tony Gentilcore.
612
613         Removes the JavaMethod interface and moves the JavaMethodJobject
614         implementation to bridge/jni/jsc/JavaMethodJSC.[cpp|h].
615
616         No new tests, refactoring only.
617
618         * GNUmakefile.list.am:
619         * WebCore.gypi:
620         * WebCore.xcodeproj/project.pbxproj:
621         * bridge/jni/JavaMethod.h: Removed.
622         * bridge/jni/jsc/JavaClassJSC.cpp:
623         (JavaClass::JavaClass):
624         * bridge/jni/jsc/JavaFieldJSC.h:
625         * bridge/jni/jsc/JavaInstanceJSC.cpp:
626         * bridge/jni/jsc/JavaMethodJSC.cpp: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.cpp.
627         (JavaMethod::JavaMethod):
628         (JavaMethod::~JavaMethod):
629         (appendClassName):
630         (JavaMethod::signature):
631         * bridge/jni/jsc/JavaMethodJSC.h: Renamed from Source/WebCore/bridge/jni/JavaMethodJobject.h.
632         (JSC::Bindings::JavaMethod::name):
633         (JSC::Bindings::JavaMethod::returnTypeClassName):
634         (JSC::Bindings::JavaMethod::parameterAt):
635         (JSC::Bindings::JavaMethod::returnType):
636         (JSC::Bindings::JavaMethod::isStatic):
637         (JSC::Bindings::JavaMethod::numParameters):
638         * bridge/jni/v8/JavaNPObjectV8.cpp:
639
640 2011-08-09  Andrey Kosyakov  <caseq@chromium.org>
641
642         Web Inspector: assertion failure in InspectorDOMStorageResource::bind when opening inspector
643         https://bugs.webkit.org/show_bug.cgi?id=65912
644
645         Reviewed by Pavel Feldman.
646
647         * inspector/InspectorDOMStorageAgent.cpp:
648         (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
649
650 2011-08-09  Yury Semikhatsky  <yurys@chromium.org>
651
652         Web Inspector: get rid of InspectorInstrumentation::inspectorAgents() map
653         https://bugs.webkit.org/show_bug.cgi?id=54678
654
655         Added two functions for retrieving InstrumentingAgents from Page and WorkerContext.
656
657         Reviewed by Pavel Feldman.
658
659         * CMakeLists.txt:
660         * GNUmakefile.list.am:
661         * WebCore.gypi:
662         * WebCore.pro:
663         * WebCore.vcproj/WebCore.vcproj:
664         * WebCore.xcodeproj/project.pbxproj:
665         * inspector/InspectorController.cpp:
666         (WebCore::InspectorController::InspectorController):
667         (WebCore::InspectorController::inspectedPageDestroyed):
668         * inspector/InspectorController.h:
669         * inspector/InspectorInstrumentation.cpp:
670         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
671         * inspector/InspectorInstrumentation.h:
672         * inspector/InstrumentingAgents.cpp: Copied from Source/WebCore/inspector/WorkerInspectorController.h.
673         (WebCore::instrumentationForPage):
674         (WebCore::instrumentationForWorkerContext):
675         * inspector/InstrumentingAgents.h:
676         * inspector/WorkerInspectorController.h:
677
678 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
679
680         Web Inspector: Add "Refresh" to context menu of resources panel cookies view.
681         https://bugs.webkit.org/show_bug.cgi?id=65854
682
683         Reviewed by Pavel Feldman.
684
685         * inspector/front-end/CookieItemsView.js:
686         (WebInspector.CookieItemsView):
687         (WebInspector.CookieItemsView.prototype._updateWithCookies):
688         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
689         (WebInspector.CookieItemsView.prototype._contextMenu):
690         * inspector/front-end/CookiesTable.js:
691         (WebInspector.CookiesTable):
692         * inspector/front-end/DataGrid.js:
693         (WebInspector.DataGrid.prototype.get refreshCallback):
694         (WebInspector.DataGrid.prototype.set refreshCallback):
695         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
696         * inspector/front-end/ResourceCookiesView.js:
697         (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
698
699 2011-08-09  Vsevolod Vlasov  <vsevik@chromium.org>
700
701         Web Inspector: Resources panel does not show main resource cookies.
702         https://bugs.webkit.org/show_bug.cgi?id=65770
703
704         Reviewed by Pavel Feldman.
705
706         Test: http/tests/inspector/resource-main-cookies.php
707
708         * inspector/InspectorPageAgent.cpp:
709         (WebCore::allResourcesURLsForFrame):
710         (WebCore::InspectorPageAgent::getCookies):
711         (WebCore::InspectorPageAgent::deleteCookie):
712
713 2011-08-09  Sheriff Bot  <webkit.review.bot@gmail.com>
714
715         Unreviewed, rolling out r92670.
716         http://trac.webkit.org/changeset/92670
717         https://bugs.webkit.org/show_bug.cgi?id=65905
718
719         It broke 3 inspector tests (Requested by Ossy on #webkit).
720
721         * inspector/InjectedScript.cpp:
722         (WebCore::InjectedScript::getProperties):
723         * inspector/InjectedScript.h:
724         * inspector/InjectedScriptSource.js:
725         (.):
726         * inspector/Inspector.json:
727         * inspector/InspectorRuntimeAgent.cpp:
728         (WebCore::InspectorRuntimeAgent::getProperties):
729         * inspector/InspectorRuntimeAgent.h:
730         * inspector/front-end/ObjectPropertiesSection.js:
731         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
732         (WebInspector.ObjectPropertyTreeElement.prototype.update):
733         * inspector/front-end/RemoteObject.js:
734         (WebInspector.RemoteObject.prototype.getOwnProperties):
735         (WebInspector.RemoteObject.prototype.getAllProperties):
736         (WebInspector.RemoteObject.prototype._getProperties.remoteObjectBinder):
737         (WebInspector.RemoteObject.prototype._getProperties):
738         (WebInspector.RemoteObjectProperty):
739         * inspector/front-end/inspector.css:
740         (.section .properties .value.dimmed):
741
742 2011-08-09  Pavel Feldman  <pfeldman@google.com>
743
744         Web Inspector: there should be a way to tell what properties are non-enumerable when expanding objects.
745         https://bugs.webkit.org/show_bug.cgi?id=65518
746
747         Reviewed by Yury Semikhatsky.
748
749         * inspector/InjectedScript.cpp:
750         (WebCore::InjectedScript::getProperties):
751         * inspector/InjectedScript.h:
752         * inspector/InjectedScriptSource.js:
753         (.):
754         * inspector/Inspector.json:
755         * inspector/InspectorRuntimeAgent.cpp:
756         (WebCore::InspectorRuntimeAgent::getProperties):
757         * inspector/InspectorRuntimeAgent.h:
758         * inspector/front-end/ObjectPropertiesSection.js:
759         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
760         (WebInspector.ObjectPropertyTreeElement.prototype.update):
761         * inspector/front-end/RemoteObject.js:
762         (WebInspector.RemoteObject.prototype.getOwnProperties):
763         (WebInspector.RemoteObject.prototype.getAllProperties):
764         (WebInspector.RemoteObjectProperty):
765         * inspector/front-end/inspector.css:
766         (.section .properties .dimmed):
767
768 2011-08-08  Steve Block  <steveblock@google.com>
769
770         Removes V8's JavaInstanceJobject, JavaClassJobject and JavaFieldJobject.
771         https://bugs.webkit.org/show_bug.cgi?id=57859
772
773         Reviewed by Alexey Proskuryakov.
774
775         This effectively reverts the changes made in Bugs 55383, 57533 and
776         55766. These classes were only used by Android. In the future, Android
777         will use the Chromium WebKit API to implement the Java bridge.
778
779         Towards this goal, this patch ...
780         - Simplfies the JavaInstance, JavaClass and JavaField interfaces for V8.
781           These interfaces will be implemented in Chromium's WebKit layer.
782         - Adds a JavaMethod interface for V8
783         - Removes the jvalue <-> JavaValue conversion functions for V8, which are
784           now superfluous
785         - Removes the calls to JavaInstance::begin()/end() for V8, which are now
786           superfluous
787
788         Will be covered by existing tests once the Chromium WebKit layer is complete.
789
790         * WebCore.gypi:
791         * bridge/jni/v8/JNIUtilityPrivate.cpp:
792         * bridge/jni/v8/JNIUtilityPrivate.h:
793         * bridge/jni/v8/JavaClassJobjectV8.cpp: Removed.
794         * bridge/jni/v8/JavaFieldJobjectV8.cpp: Removed.
795         * bridge/jni/v8/JavaFieldJobjectV8.h: Removed.
796         * bridge/jni/v8/JavaFieldV8.h:
797         * bridge/jni/v8/JavaInstanceJobjectV8.cpp: Removed.
798         * bridge/jni/v8/JavaInstanceJobjectV8.h: Removed.
799         * bridge/jni/v8/JavaInstanceV8.h:
800         * bridge/jni/v8/JavaMethodV8.h:
801         (JSC::Bindings::JavaMethod::~JavaMethod):
802         * bridge/jni/v8/JavaNPObjectV8.cpp:
803         (JSC::Bindings::JavaNPObjectHasMethod):
804         (JSC::Bindings::JavaNPObjectInvoke):
805         (JSC::Bindings::JavaNPObjectHasProperty):
806         (JSC::Bindings::JavaNPObjectGetProperty):
807
808 2011-08-08  Chris Rogers  <crogers@google.com>
809
810         Fix thread-safety of AudioNode deletion
811         https://bugs.webkit.org/show_bug.cgi?id=65888
812
813         Reviewed by Kenneth Russell
814
815         No new tests - JavaScript API is not affected.
816
817         * webaudio/AudioContext.cpp:
818         (WebCore::AudioContext::AudioContext):
819         (WebCore::AudioContext::constructCommon):
820         (WebCore::AudioContext::~AudioContext):
821         (WebCore::AudioContext::uninitialize):
822         (WebCore::AudioContext::handlePostRenderTasks):
823         (WebCore::AudioContext::scheduleNodeDeletion):
824         (WebCore::AudioContext::deleteMarkedNodesDispatch):
825         (WebCore::AudioContext::deleteMarkedNodes):
826         * webaudio/AudioContext.h:
827
828 2011-08-08  Chris Marrin  <cmarrin@apple.com>
829
830         Fix build breakage caused by http://trac.webkit.org/changeset/92651
831
832         Unreviewed.
833
834         * WebCore.exp.in:
835
836 2011-08-08  Chris Marrin  <cmarrin@apple.com>
837
838         Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
839         https://bugs.webkit.org/show_bug.cgi?id=65708
840
841         Add logic to syncCompositingState to compute the visible rect for each
842         layer. This can be used to synchronously render the visible tiles of a
843         TiledLayer and avoid the flashing that often occurs when tiles are rendered
844         asynchronously. A new synchronouslyDisplayTilesInRect is also added to do
845         the actual rendering, but the call is not currently being made.
846
847         Reviewed by Simon Fraser.
848
849         * page/FrameView.cpp:
850         (WebCore::FrameView::syncCompositingStateForThisFrame):
851         * platform/graphics/GraphicsLayer.h:
852         (WebCore::GraphicsLayer::syncCompositingState):
853         * platform/graphics/ca/GraphicsLayerCA.cpp:
854         (WebCore::GraphicsLayerCA::syncCompositingState):
855         (WebCore::GraphicsLayerCA::recursiveCommitChanges):
856         (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
857         (WebCore::GraphicsLayerCA::updateSublayerList):
858         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
859         * platform/graphics/ca/GraphicsLayerCA.h:
860         * platform/graphics/ca/PlatformCALayer.h:
861         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
862         (PlatformCALayer::synchronouslyDisplayTilesInRect):
863         * platform/graphics/transforms/TransformState.cpp:
864         (WebCore::TransformState::operator=):
865         * platform/graphics/transforms/TransformState.h:
866         (WebCore::TransformState::TransformState):
867         * rendering/RenderLayerCompositor.cpp:
868         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
869
870 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
871
872         Unreviewed, rolling out r92619.
873         http://trac.webkit.org/changeset/92619
874         https://bugs.webkit.org/show_bug.cgi?id=65881
875
876         This patch breaks chromium canary (Requested by jianli on
877         #webkit).
878
879         * bindings/v8/V8Binding.h:
880         * bindings/v8/V8GCController.cpp:
881         (WebCore::globalHandleMap):
882         (WebCore::enumerateGlobalHandles):
883         (WebCore::V8GCController::registerGlobalHandle):
884         (WebCore::V8GCController::unregisterGlobalHandle):
885         * bindings/v8/V8HiddenPropertyName.cpp:
886         (WebCore::V8HiddenPropertyName::createString):
887         * bindings/v8/V8HiddenPropertyName.h:
888         * bindings/v8/V8LazyEventListener.cpp:
889         (WebCore::V8LazyEventListener::prepareListenerObject):
890         * bindings/v8/V8NPObject.cpp:
891         * bindings/v8/V8Proxy.cpp:
892         (WebCore::V8Proxy::checkNewLegal):
893         * bindings/v8/V8Utilities.h:
894         (WebCore::AllowAllocation::AllowAllocation):
895         (WebCore::AllowAllocation::~AllowAllocation):
896         (WebCore::SafeAllocation::newInstance):
897         * bindings/v8/WorkerContextExecutionProxy.cpp:
898         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
899         (WebCore::WorkerContextExecutionProxy::initV8):
900         * bindings/v8/WorkerContextExecutionProxy.h:
901         * bindings/v8/WorkerScriptController.cpp:
902         (WebCore::WorkerScriptController::scheduleExecutionTermination):
903
904 2011-08-08  Scott Byer  <scottbyer@chromium.org>
905
906         Scroll animator changes to nail the framerate
907         https://bugs.webkit.org/show_bug.cgi?id=65645
908
909         Reviewed by James Robinson.
910
911         Partial test in ScrollAnimatorNoneTest::Enabled.
912
913         * platform/ScrollAnimatorNone.cpp:
914         (WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
915         (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
916         (WebCore::ScrollAnimatorNone::PerAxisData::animateScroll):
917         (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
918         (WebCore::ScrollAnimatorNone::~ScrollAnimatorNone):
919         (WebCore::ScrollAnimatorNone::scroll):
920         (WebCore::ScrollAnimatorNone::scrollToOffsetWithoutAnimation):
921         (WebCore::ScrollAnimatorNone::animationTimerFired):
922         (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
923         * platform/ScrollAnimatorNone.h:
924
925 2011-08-08  Emil A Eklund  <eae@chromium.org>
926
927         Switch legacy flexbox to to new layout types
928         https://bugs.webkit.org/show_bug.cgi?id=65340
929
930         Reviewed by Eric Seidel.
931
932         No new tests, no new functionality.
933
934         * rendering/RenderDeprecatedFlexibleBox.cpp:
935         (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
936         (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
937         (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
938         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
939         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
940         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
941         (WebCore::RenderDeprecatedFlexibleBox::placeChild):
942         (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
943         * rendering/RenderDeprecatedFlexibleBox.h:
944
945 2011-08-08  Emil A Eklund  <eae@chromium.org>
946
947         Switch RenderStyle to to new layout types
948         https://bugs.webkit.org/show_bug.cgi?id=65208
949
950         Reviewed by Eric Seidel.
951
952         No new tests, no new functionality.
953
954         * rendering/RenderBox.cpp:
955         (WebCore::RenderBox::addShadowOverflow):
956         * rendering/style/RenderStyle.cpp:
957         (WebCore::RenderStyle::applyTransform):
958         (WebCore::calcRadiiFor):
959         (WebCore::RenderStyle::getRoundedBorderFor):
960         (WebCore::RenderStyle::getRoundedInnerBorderFor):
961         * rendering/style/RenderStyle.h:
962         * rendering/style/ShadowData.cpp:
963         (WebCore::ShadowData::adjustRectForShadow):
964
965 2011-08-08  Cris Neckar  <cdn@chromium.org>
966
967         Remove counter nodes from the tree and fix-up children when they are removed from the counter map.
968         https://bugs.webkit.org/show_bug.cgi?id=65346
969
970         Reviewed by Adam Barth.
971
972         Covered by existing CSS counter tests.
973
974         * rendering/CounterNode.cpp:
975         (WebCore::CounterNode::~CounterNode):
976
977 2011-08-08  Tony Chang  <tony@chromium.org>
978
979         implement basic horizontal flexing
980         https://bugs.webkit.org/show_bug.cgi?id=65045
981
982         Reviewed by David Hyatt.
983
984         Test: css3/flexbox/001.html
985
986         * css/CSSPrimitiveValueMappings.h:
987         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
988         * rendering/RenderBox.cpp:
989         (WebCore::RenderBox::computeLogicalWidth):
990         * rendering/RenderFlexibleBox.cpp:
991         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::FlexibleBoxIterator): flexitem iterator
992         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::first):
993         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::next):
994         (WebCore::RenderFlexibleBox::FlexibleBoxIterator::reset):
995         (WebCore::RenderFlexibleBox::layoutBlock):
996         (WebCore::preferredFlexItemContentWidth): Returns the intrinsic size of a flex item's content.
997         (WebCore::RenderFlexibleBox::layoutHorizontalBlock): Runs the flex algorithm
998         (WebCore::preferredSizeForMarginsAndPadding):
999         (WebCore::RenderFlexibleBox::computePreferredSize): Calculate the preferred size of the
1000             flex items.
1001         * rendering/RenderFlexibleBox.h:
1002         * rendering/RenderObject.cpp:
1003         (WebCore::RenderObject::createObject):
1004         * rendering/style/RenderStyleConstants.h:
1005
1006 2011-08-08  David Grogan  <dgrogan@chromium.org>
1007
1008         Add detail to ASSERT message in IDBTransaction::enqueueEvent
1009         https://bugs.webkit.org/show_bug.cgi?id=65735
1010
1011         I've hit this a few times but haven't been able to pin it down.  The
1012         extra detail could be helpful.
1013
1014         Reviewed by Nate Chapin.
1015
1016         No new tests, just an error message.
1017
1018         * storage/IDBTransaction.cpp:
1019         (WebCore::IDBTransaction::enqueueEvent):
1020
1021 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1022
1023         Unreviewed, rolling out r92610.
1024         http://trac.webkit.org/changeset/92610
1025         https://bugs.webkit.org/show_bug.cgi?id=65868
1026
1027         Caused assertion failures when running fast/multicol tests
1028         (Requested by andersca on #webkit).
1029
1030         * WebCore.xcodeproj/project.pbxproj:
1031         * platform/PODIntervalTree.h:
1032         (WebCore::PODIntervalTree::allOverlaps):
1033         (WebCore::PODIntervalTree::searchForOverlapsFrom):
1034         * platform/PODRedBlackTree.h:
1035         (WebCore::PODRedBlackTree::add):
1036         (WebCore::PODRedBlackTree::remove):
1037         (WebCore::PODRedBlackTree::contains):
1038         (WebCore::PODRedBlackTree::visitInorder):
1039         (WebCore::PODRedBlackTree::size):
1040         (WebCore::PODRedBlackTree::checkInvariants):
1041         (WebCore::PODRedBlackTree::dump):
1042         * rendering/RenderBlock.cpp:
1043         (WebCore::RenderBlock::styleDidChange):
1044         (WebCore::RenderBlock::addOverflowFromFloats):
1045         (WebCore::RenderBlock::repaintOverhangingFloats):
1046         (WebCore::RenderBlock::paintFloats):
1047         (WebCore::RenderBlock::selectionGaps):
1048         (WebCore::RenderBlock::insertFloatingObject):
1049         (WebCore::RenderBlock::removeFloatingObject):
1050         (WebCore::RenderBlock::removeFloatingObjectsBelow):
1051         (WebCore::RenderBlock::positionNewFloats):
1052         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1053         (WebCore::RenderBlock::logicalRightOffsetForLine):
1054         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
1055         (WebCore::RenderBlock::lowestFloatLogicalBottom):
1056         (WebCore::RenderBlock::addPositionedFloats):
1057         (WebCore::RenderBlock::clearFloats):
1058         (WebCore::RenderBlock::addOverhangingFloats):
1059         (WebCore::RenderBlock::hasOverhangingFloat):
1060         (WebCore::RenderBlock::addIntrudingFloats):
1061         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
1062         (WebCore::RenderBlock::hitTestFloats):
1063         (WebCore::RenderBlock::adjustForBorderFit):
1064         (WebCore::RenderBlock::FloatingObjects::clear):
1065         * rendering/RenderBlock.h:
1066         (WebCore::RenderBlock::FloatingObject::FloatingObject):
1067         (WebCore::RenderBlock::FloatingObject::setX):
1068         (WebCore::RenderBlock::FloatingObject::setY):
1069         (WebCore::RenderBlock::FloatingObject::setWidth):
1070         (WebCore::RenderBlock::FloatingObject::setHeight):
1071         (WebCore::RenderBlock::FloatingObject::setFrameRect):
1072         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
1073         (WebCore::RenderBlock::FloatingObjects::set):
1074         * rendering/RenderBlockLineLayout.cpp:
1075         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1076         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1077         (WebCore::RenderBlock::matchedEndLine):
1078         (WebCore::RenderBlock::positionNewFloatOnLine):
1079
1080 2011-08-08  Emil A Eklund  <eae@chromium.org>
1081
1082         Rename absoluteQuadsForRange and InlineTextBox::selectionRect to local*
1083         https://bugs.webkit.org/show_bug.cgi?id=65722
1084
1085         Reviewed by Simon Fraser.
1086
1087         No new tests, no new functionality.
1088
1089         * rendering/InlineTextBox.cpp:
1090         (WebCore::InlineTextBox::localSelectionRect):
1091         Rename InlineTextBox::selectionRect to localSelectionRect to reflect that
1092         it, unlike RenderObject::selectionRect returns a rect in the local
1093         coordinate space.
1094
1095         * rendering/InlineTextBox.h:
1096         * rendering/RenderText.cpp:
1097         (WebCore::localQuadForTextBox):
1098         (WebCore::RenderText::absoluteRectsForRange):
1099         (WebCore::RenderText::absoluteQuadsForRange):
1100         (WebCore::RenderText::selectionRectForRepaint):
1101         Rename absoluteQuadForTextBox to localQuadForTextBox to reflect that it
1102         returns a quad in the local coordinate space.
1103         
1104         * rendering/svg/RenderSVGInlineText.cpp:
1105         (WebCore::RenderSVGInlineText::localCaretRect):
1106         * rendering/svg/SVGInlineTextBox.cpp:
1107         (WebCore::SVGInlineTextBox::localSelectionRect):
1108         * rendering/svg/SVGInlineTextBox.h:
1109
1110 2011-08-08  Jochen Eisinger  <jochen@chromium.org>
1111
1112         Use a raw pointer to the security origin in the ctor of FrameLoadRequest
1113         https://bugs.webkit.org/show_bug.cgi?id=65852
1114
1115         Reviewed by Alexey Proskuryakov.
1116
1117         * loader/FrameLoadRequest.h:
1118         (WebCore::FrameLoadRequest::FrameLoadRequest):
1119         * loader/FrameLoader.cpp:
1120         (WebCore::FrameLoader::changeLocation):
1121         * loader/FrameLoader.h:
1122         * loader/NavigationScheduler.cpp:
1123         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation):
1124         (WebCore::ScheduledURLNavigation::fire):
1125         (WebCore::ScheduledRedirect::ScheduledRedirect):
1126         (WebCore::ScheduledLocationChange::ScheduledLocationChange):
1127         (WebCore::ScheduledRefresh::ScheduledRefresh):
1128         (WebCore::NavigationScheduler::scheduleLocationChange):
1129         * loader/NavigationScheduler.h:
1130
1131 2011-08-08  Ryosuke Niwa  <rniwa@webkit.org>
1132
1133         Remove redundant inline styles from the pasted contents more aggressively
1134         https://bugs.webkit.org/show_bug.cgi?id=65833
1135
1136         Reviewed by Tony Chang.
1137
1138         Make removeRedundantStylesAndKeepStyleSpanInline more aggressively remove redundant styles by realizing that
1139         when an editing inheritable property in an inline style declaration of an element can be safely removed
1140         if it is present either in style rules or in its ancestor and not overridden by style rules or default style
1141         of the element.
1142
1143         Test: editing/pasteboard/paste-with-redundant-style.html
1144
1145         * css/CSSStyleSelector.cpp:
1146         (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Do not match author style sheets if AuthorCSSRules
1147         is not included in the rules to include. This is used in EditingStyle::removePropertiesInElementDefaultStyle.
1148         * editing/ApplyStyleCommand.cpp:
1149         (WebCore::isStyleSpanOrSpanWithOnlyStyleAttribute): Added; returns true if the element is a style span or
1150         span possibly with a style attribute.
1151         * editing/ApplyStyleCommand.h:
1152         * editing/EditingStyle.cpp:
1153         (WebCore::styleFromMatchedRulesForElement): Takes rulesToInclude.
1154         (WebCore::EditingStyle::mergeStyleFromRules): Calls styleFromMatchedRulesForElement with AuthorCSSRules
1155         | CrossOriginCSSRules to keep the original behavior.
1156         (WebCore::EditingStyle::removeStyleFromRulesAndContext): Renamed from removeStyleFromRules; removes styles that
1157         are present in context and not overridden by matched rules.
1158         (WebCore::EditingStyle::removePropertiesInElementDefaultStyle): Added.
1159         * editing/EditingStyle.h:
1160         * editing/ReplaceSelectionCommand.cpp:
1161         (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): See the description above.
1162
1163 2011-08-08  Dmitry Lomov  <dslomov@google.com>
1164
1165         https://bugs.webkit.org/show_bug.cgi?id=65778
1166         [WebWorkers][chromium] Make statics thread-safe and make sure V8 API accesses correct isolates.
1167
1168         Reviewed by David Levin.
1169
1170         Covered by existing tests.
1171
1172         * bindings/v8/V8Binding.h:
1173         (WebCore::V8BindingPerIsolateData::lazyEventListenerToStringTemplate):
1174         (WebCore::V8BindingPerIsolateData::hiddenPropertyName):
1175         (WebCore::V8BindingPerIsolateData::globalHandleMap):
1176         (WebCore::AllowAllocation::AllowAllocation): Moving to V8Binding.h from V8Utilities.h to resolve header dependency.
1177         (WebCore::AllowAllocation::~AllowAllocation):
1178         (WebCore::AllowAllocation::current):
1179         (WebCore::SafeAllocation::newInstance):
1180         * bindings/v8/V8GCController.cpp:
1181         (WebCore::currentGlobalHandleMap):
1182         (WebCore::enumerateGlobalHandles):
1183         (WebCore::V8GCController::registerGlobalHandle):
1184         (WebCore::V8GCController::unregisterGlobalHandle):
1185         * bindings/v8/V8HiddenPropertyName.cpp:
1186         (WebCore::V8HiddenPropertyName::createString):
1187         * bindings/v8/V8HiddenPropertyName.h:
1188         * bindings/v8/V8LazyEventListener.cpp:
1189         (WebCore::V8LazyEventListener::prepareListenerObject):
1190         * bindings/v8/V8NPObject.cpp:
1191         * bindings/v8/V8Proxy.cpp:
1192         (WebCore::V8Proxy::checkNewLegal):
1193         * bindings/v8/V8Utilities.h:
1194         * bindings/v8/WorkerContextExecutionProxy.cpp:
1195         (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
1196         (WebCore::WorkerContextExecutionProxy::initIsolate):
1197         * bindings/v8/WorkerContextExecutionProxy.h:
1198         * bindings/v8/WorkerScriptController.cpp:
1199         (WebCore::WorkerScriptController::scheduleExecutionTermination):
1200
1201 2011-08-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1202
1203         Unreviewed, rolling out r92607.
1204         http://trac.webkit.org/changeset/92607
1205         https://bugs.webkit.org/show_bug.cgi?id=65865
1206
1207         This patch breaks Chromium Mac Canary (Requested by jianli on
1208         #webkit).
1209
1210         * platform/PlatformWheelEvent.h:
1211         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1212         * platform/chromium/ScrollAnimatorChromiumMac.mm:
1213         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
1214
1215 2011-08-08  Andrew Wason  <rectalogic@rectalogic.com>
1216
1217         [Qt] Implement WebGL antialiasing (part 3)
1218         https://bugs.webkit.org/show_bug.cgi?id=64879
1219
1220         Reviewed by Noam Rosenthal.
1221
1222         Existing WebGL layout tests cover this.
1223
1224         Implement WebGL antialiasing for Qt desktop.
1225         Existing code in GraphicsContext3DOpenGL.cpp manages the
1226         multisample FBO. GraphicsContext3DQt.cpp creates it and blits
1227         it to the regular FBO when painting.
1228         Requires adoption of Extensions3DOpenGL to be fully functional.
1229
1230         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1231         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
1232         (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
1233         (WebCore::GraphicsContext3DInternal::paint):
1234         (WebCore::GraphicsContext3DInternal::multisampleResolve):
1235         (WebCore::GraphicsContext3D::GraphicsContext3D):
1236         (WebCore::GraphicsContext3D::~GraphicsContext3D):
1237
1238 2011-08-08  Anders Carlsson  <andersca@apple.com>
1239
1240         Fix build.
1241
1242         * platform/PODRedBlackTree.h:
1243         (WebCore::PODRedBlackTree::Counter::visit):
1244
1245 2011-08-08  Alexandru Chiculita  <achicu@adobe.com>
1246
1247         Optimize floating elements lookup
1248         https://bugs.webkit.org/show_bug.cgi?id=65668
1249
1250         Added an interval tree in the FloatingObjects structure. Also added new mechanisms to make
1251         sure the tree is updated correctly when a float is repositioned.
1252
1253         Changed the PODIntervalTree to support giving a search adapter that can be implemented by the
1254         client. I'm not adding a different bug for that because PODIntervalTree is not used anywhere else
1255         and would be hard to test that the change is not breaking anything.
1256
1257         Reviewed by David Hyatt.
1258
1259         No new tests, just a refactor on the floating objects data structure.
1260
1261         * WebCore.xcodeproj/project.pbxproj:
1262         * platform/PODIntervalTree.h:
1263         (WebCore::PODIntervalSearchAdapter::PODIntervalSearchAdapter):
1264         (WebCore::PODIntervalSearchAdapter::lowValue):
1265         (WebCore::PODIntervalSearchAdapter::highValue):
1266         (WebCore::PODIntervalSearchAdapter::collectIfNeeded):
1267         (WebCore::PODIntervalTree::PODIntervalTree):
1268         (WebCore::PODIntervalTree::allOverlaps):
1269         (WebCore::PODIntervalTree::allOverlapsWithAdapter):
1270         (WebCore::PODIntervalTree::searchForOverlapsFrom):
1271         * platform/PODRedBlackTree.h:
1272         (WebCore::PODRedBlackTree::PODRedBlackTree):
1273         (WebCore::PODRedBlackTree::clear):
1274         (WebCore::PODRedBlackTree::isInitialized):
1275         (WebCore::PODRedBlackTree::initIfNeeded):
1276         (WebCore::PODRedBlackTree::add):
1277         (WebCore::PODRedBlackTree::remove):
1278         (WebCore::PODRedBlackTree::contains):
1279         (WebCore::PODRedBlackTree::visitInorder):
1280         (WebCore::PODRedBlackTree::size):
1281         (WebCore::PODRedBlackTree::checkInvariants):
1282         (WebCore::PODRedBlackTree::dump):
1283         * rendering/RenderBlock.cpp:
1284         (WebCore::RenderBlock::styleDidChange):
1285         (WebCore::RenderBlock::addOverflowFromFloats):
1286         (WebCore::RenderBlock::repaintOverhangingFloats):
1287         (WebCore::RenderBlock::paintFloats):
1288         (WebCore::RenderBlock::selectionGaps):
1289         (WebCore::RenderBlock::insertFloatingObject):
1290         (WebCore::RenderBlock::removeFloatingObject):
1291         (WebCore::RenderBlock::removeFloatingObjectsBelow):
1292         (WebCore::RenderBlock::positionNewFloats):
1293         (WebCore::::collectIfNeeded):
1294         (WebCore::RenderBlock::logicalLeftOffsetForLine):
1295         (WebCore::RenderBlock::logicalRightOffsetForLine):
1296         (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
1297         (WebCore::RenderBlock::lowestFloatLogicalBottom):
1298         (WebCore::RenderBlock::addPositionedFloats):
1299         (WebCore::RenderBlock::clearFloats):
1300         (WebCore::RenderBlock::addOverhangingFloats):
1301         (WebCore::RenderBlock::hasOverhangingFloat):
1302         (WebCore::RenderBlock::addIntrudingFloats):
1303         (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
1304         (WebCore::RenderBlock::hitTestFloats):
1305         (WebCore::RenderBlock::adjustForBorderFit):
1306         (WebCore::RenderBlock::FloatingObjects::clear):
1307         (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
1308         (WebCore::RenderBlock::FloatingObjects::addPlacedObject):
1309         (WebCore::RenderBlock::FloatingObjects::removePlacedObject):
1310         (WebCore::RenderBlock::FloatingObjects::add):
1311         (WebCore::RenderBlock::FloatingObjects::remove):
1312         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):
1313         (WebCore::::string):
1314         * rendering/RenderBlock.h:
1315         (WebCore::RenderBlock::FloatingObject::FloatingObject):
1316         (WebCore::RenderBlock::FloatingObject::setX):
1317         (WebCore::RenderBlock::FloatingObject::setY):
1318         (WebCore::RenderBlock::FloatingObject::setWidth):
1319         (WebCore::RenderBlock::FloatingObject::setHeight):
1320         (WebCore::RenderBlock::FloatingObject::setFrameRect):
1321         (WebCore::RenderBlock::FloatingObject::isInPlacedTree):
1322         (WebCore::RenderBlock::FloatingObject::setIsInPlacedTree):
1323         (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
1324         (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
1325         (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
1326         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
1327         (WebCore::RenderBlock::FloatingObjects::setHorizontalWritingMode):
1328         (WebCore::RenderBlock::FloatingObjects::set):
1329         (WebCore::RenderBlock::FloatingObjects::placedFloatsTree):
1330         (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTreeIfNeeded):
1331         * rendering/RenderBlockLineLayout.cpp:
1332         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
1333         (WebCore::RenderBlock::linkToEndLineIfNeeded):
1334         (WebCore::RenderBlock::matchedEndLine):
1335         (WebCore::RenderBlock::positionNewFloatOnLine):
1336
1337 2011-08-08  Alexei Svitkine  <asvitkine@chromium.org>
1338
1339         [Chromium] Enable rubber banding when scrolling.
1340
1341         https://bugs.webkit.org/show_bug.cgi?id=65707
1342
1343         Reviewed by Dimitri Glazkov.
1344
1345         No new tests since this is just syncing changes to chromium platform.
1346
1347         * platform/PlatformWheelEvent.h:
1348         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1349         * platform/chromium/ScrollAnimatorChromiumMac.mm:
1350         (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
1351
1352 2011-08-08  Dan Bernstein  <mitz@apple.com>
1353
1354         Build fix.
1355
1356         * html/NumberInputType.cpp:
1357         (WebCore::NumberInputType::sizeShouldIncludeDecoration): Fixed an obvious typo.
1358
1359 2011-08-08  Andras Becsi  <abecsi@webkit.org>
1360
1361         [Qt] Clean up project file after r92492.
1362
1363         Unreviewed gardening.
1364
1365         No new tests needed.
1366
1367         * WebCore.pro: remove nonexistent PluginHalterClient.h, PluginHalter.h, HaltablePlugin.h.
1368
1369 2011-08-08  Pavel Podivilov  <podivilov@chromium.org>
1370
1371         Web Inspector: refactor links creation.
1372         https://bugs.webkit.org/show_bug.cgi?id=65612
1373
1374         Reviewed by Pavel Feldman.
1375
1376         No new tests - it is refactoring, modified code covered by script-formatter.html test.
1377
1378         * inspector/front-end/ConsoleView.js:
1379         (WebInspector.ConsoleMessage.prototype._formatMessage):
1380         (WebInspector.ConsoleMessage.prototype._linkifyLocation):
1381         (WebInspector.ConsoleMessage.prototype._linkifyCallFrame):
1382         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
1383         * inspector/front-end/DebuggerPresentationModel.js:
1384         (WebInspector.DebuggerPresentationModel):
1385         (WebInspector.DebuggerPresentationModel.prototype.addSourceMappingListener):
1386         (WebInspector.DebuggerPresentationModel.prototype.removeSourceMappingListener):
1387         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor.didGetLocation):
1388         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation.updateAnchor):
1389         (WebInspector.DebuggerPresentationModel.prototype.linkifyLocation):
1390         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
1391         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1392         (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
1393         * inspector/front-end/EventListenersSidebarPane.js:
1394         * inspector/front-end/NetworkPanel.js:
1395         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
1396         * inspector/front-end/Panel.js:
1397         * inspector/front-end/ProfileDataGridTree.js:
1398         (WebInspector.ProfileDataGridNode.prototype.createCell):
1399         * inspector/front-end/ScriptsPanel.js:
1400         (WebInspector.ScriptsPanel.prototype._folderAndDisplayNameForScriptURL):
1401         * inspector/front-end/StylesSidebarPane.js:
1402         (WebInspector.StylePropertiesSection.linkifyUncopyable):
1403         (WebInspector.StylePropertiesSection):
1404         * inspector/front-end/TimelinePanel.js:
1405         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1406         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
1407         (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
1408         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendLinkRow):
1409         (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
1410         * inspector/front-end/inspector.js:
1411         (WebInspector._showSettingsScreen):
1412         (WebInspector.formatLinkText):
1413         (WebInspector.linkifyResourceAsNode):
1414
1415 2011-08-08  Andrew Wason  <rectalogic@rectalogic.com>
1416
1417         [Qt] Implement WebGL antialiasing (part 3)
1418         https://bugs.webkit.org/show_bug.cgi?id=64879
1419
1420         Reviewed by Noam Rosenthal.
1421
1422         Existing WebGL layout tests.
1423
1424         Adopt Extensions3DOpenGL for Qt desktop as a prerequisite
1425         for implementing WebGL antialiasing.
1426         Extensions3DQt is still used for ES2.
1427
1428         * WebCore.pri:
1429         * WebCore.pro:
1430         * platform/graphics/GraphicsContext3D.h:
1431         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
1432         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
1433         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
1434         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
1435         (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
1436         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1437         (WebCore::GraphicsContext3D::getExtensions):
1438         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1439         (WebCore::GraphicsContext3D::layerComposited):
1440
1441 2011-08-08  Benjamin Poulain  <benjamin@webkit.org>
1442
1443         Build fix after r92589, defaultSize is not used.
1444         
1445         Reviewed by Andreas Kling.
1446
1447         * html/InputType.cpp:
1448         (WebCore::InputType::sizeShouldIncludeDecoration):
1449
1450 2011-08-08  Keishi Hattori  <keishi@webkit.org>
1451
1452         Implement <input type=color> UI behavior WebCore part
1453         https://bugs.webkit.org/show_bug.cgi?id=62619
1454
1455         Reviewed by Kent Tamura.
1456
1457         * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
1458         __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
1459         * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
1460         * html/ColorInputType.cpp:
1461         (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
1462         (WebCore::ColorInputType::valueAsColor): Added.
1463         (WebCore::ColorInputType::setValueAsColor): Added.
1464         (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
1465         (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
1466         (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
1467         when it was initiated by a user interaction.
1468         (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
1469         or is removed from DOM.
1470         (WebCore::ColorInputType::colorSelected): Callback from color chooser.
1471         (WebCore::ColorInputType::isColorInputType): Returns true.
1472         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
1473         * html/ColorInputType.h:
1474         * html/FileInputType.cpp:
1475         * html/FileInputType.h:
1476         * html/HTMLInputElement.cpp:
1477         (WebCore::HTMLInputElement::detach): Calls InputType::detach
1478         * html/InputType.cpp:
1479         (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
1480         (WebCore::InputType::detach): ColorInputType overrides this.
1481         * html/InputType.h:
1482         * loader/EmptyClients.h:
1483         (WebCore::EmptyChromeClient::openColorChooser):
1484         (WebCore::EmptyChromeClient::closeColorChooser):
1485         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser):
1486         * loader/FrameLoader.cpp:
1487         (WebCore::FrameLoader::transitionToCommitted): Close color chooser when navigating away from the page. We do this here
1488         because ColorInputType::detach() is called seconds after the page transition so it is too slow.
1489         * page/Chrome.cpp:
1490         (WebCore::Chrome::openColorChooser): Added.
1491         (WebCore::Chrome::closeColorChooser): Added.
1492         (WebCore::Chrome::setSelectedColorInColorChooser): Added.
1493         * page/Chrome.h:
1494         * page/ChromeClient.h:
1495         * platform/ColorChooser.cpp: Added.
1496         (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
1497         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
1498         (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
1499         (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
1500         (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
1501         * platform/ColorChooser.h: Added.
1502         (WebCore::ColorChooserClient::isColorInputType): Added.
1503         (WebCore::ColorChooser::client): Added. Returns the current connected client.
1504         (WebCore::ColorChooser::ColorChooser): Added.
1505
1506 2011-08-08  Shinya Kawanaka  <shinyak@google.com>
1507
1508         The input[type=number] element should be as wide as necessary to show the widest possible value.
1509         https://bugs.webkit.org/show_bug.cgi?id=60673
1510
1511         Reviewed by Kent Tamura.
1512
1513         The size of input[type=number] is calculated from min/max/step attributes to show the widest possible value.
1514         If min or max attribute is absent, the default size is used.
1515         Also, if its css width is not auto, the width is used with priority.
1516
1517         If min/max/attribute is set dynamically, the size of the input[type=number] will be recalculated.
1518
1519         Test: fast/forms/input-number-size.html
1520
1521         * html/HTMLInputElement.cpp:
1522         (WebCore::HTMLInputElement::parseMappedAttribute):
1523            Added stepAttributeChanged handler.
1524         (WebCore::HTMLInputElement::sizeShouldIncludeDecoration):
1525            Returns true if a renderer should include decoration (e.g. inner spinbox).
1526            Also returns the preferred size of the input.
1527         * html/HTMLInputElement.h:
1528         * html/InputType.cpp:
1529         (WebCore::InputType::sizeShouldIncludeDecoration):
1530            Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
1531         (WebCore::InputType::stepAttributeChanged):
1532            Will be called When step attribute is changed.
1533            Sets a flag to recalculate layout.
1534         * html/InputType.h:
1535         * html/NumberInputType.cpp:
1536         (WebCore::lengthBeforeDecimalPoint):
1537            Calculates the width before the decimal point.
1538         (WebCore::NumberInputType::sizeShouldIncludeDecoration):
1539            Same as WebCore::HTMLInputElement::sizeShouldIncludeDecoration.
1540            However, this will calculate the preferred size from min/max/step attribute.
1541         (WebCore::NumberInputType::minOrMaxAttributeChanged):
1542            Sets a flag to recalculate layout.
1543         (WebCore::NumberInputType::stepAttributeChanged): ditto.
1544         * html/NumberInputType.h:
1545         * rendering/RenderTextControlSingleLine.cpp:
1546         (WebCore::RenderTextControlSingleLine::preferredContentWidth):
1547            Uses preferredSize instead of size.
1548            Also, adds innerSpinButtonElement size to width if sizeShouldIncludeDecoration returns true.
1549
1550 2011-08-08  Kenichi Ishibashi  <bashi@chromium.org>
1551
1552         Should not use C-style cast in CSSParser.cpp
1553         https://bugs.webkit.org/show_bug.cgi?id=65807
1554
1555         Remove C-style cast.
1556
1557         Reviewed by Kent Tamura.
1558
1559         No new tests because no behavior change.
1560
1561         * css/CSSParser.cpp:
1562         (WebCore::CSSParser::parseAnimationTimingFunction): Replaced a cast with clampToInteger().
1563         (WebCore::CSSParser::parseFontFeatureTag): Ditto.
1564         (WebCore::CSSParser::createKeyframeRule): Replaced a cast with C++-style cast.
1565
1566 2011-08-05  Pavel Feldman  <pfeldman@chromium.org>
1567
1568         Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
1569         https://bugs.webkit.org/show_bug.cgi?id=65763
1570
1571         InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
1572         since in the multiprocess environment, you can't immediately get back to it from the host.
1573
1574         r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
1575         was asking itself a question. This loop was fixed.
1576
1577         Reviewed by Yury Semikhatsky.
1578
1579         * WebCore.exp.in:
1580         * inspector/InspectorController.cpp:
1581         * inspector/InspectorController.h:
1582         * inspector/InspectorFrontendClient.h:
1583         * inspector/InspectorFrontendClientLocal.h:
1584         * inspector/front-end/inspector.js:
1585         (windowLoaded):
1586
1587 2011-07-28  Kent Tamura  <tkent@chromium.org>
1588
1589         [Chromium] Make form validation bubble fit with Chrome UI style
1590         https://bugs.webkit.org/show_bug.cgi?id=65359
1591
1592         Reviewed by Hajime Morita.
1593
1594         Change the appearance of validation message bubble for
1595         Chromium. Basically it doesn't change for other ports.
1596
1597         - Introduce a new element to put an icon, and enclose it and the
1598         message text by a flexible box.
1599         - Repesent the message text by two elements. One for the heading,
1600         another for the remaining.
1601
1602         - Introduce themeChromium.css
1603
1604         * WebCore.gyp/WebCore.gyp: Add themeChromium.css.
1605         * css/html.css:
1606         (::-webkit-validation-bubble-message): Make this a flexible box container.
1607         (::-webkit-validation-bubble-text-block): Takes flexibility.
1608         (::-webkit-validation-bubble-heading):
1609         Make the content bold because we removed <b></b>.
1610         * css/themeChromium.css: Added.
1611         (::-webkit-validation-bubble):
1612         (::-webkit-validation-bubble-message):
1613         (::-webkit-validation-bubble-arrow):
1614         (::-webkit-validation-bubble-arrow-clipper):
1615         (::-webkit-validation-bubble-icon):
1616         (::-webkit-validation-bubble-heading):
1617         (::-webkit-validation-bubble-body):
1618         * html/ValidationMessage.cpp:
1619         (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
1620         Sets the text into m_messageHeading and m_messageBody, instead of m_bubbleMessage.
1621         Use ASSERT_NO_EXCEPTION.
1622         (WebCore::ValidationMessage::buildBubbleTree):
1623         Build the new structure, and use ASSERT_NO_EXCEPTION.
1624         (WebCore::ValidationMessage::deleteBubbleTree):
1625         Clear m_messageHeading and m_messageBody.
1626         * html/ValidationMessage.h:
1627         * rendering/RenderThemeChromiumMac.h: Add extraDefaultStyleSheet().
1628         * rendering/RenderThemeChromiumMac.mm:
1629         (WebCore::RenderThemeChromiumMac::extraDefaultStyleSheet): Append themeChromium.css.
1630         * rendering/RenderThemeChromiumSkia.cpp:
1631         (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet): Append themeChromium.css.
1632
1633 2011-08-07  Keishi Hattori  <keishi@webkit.org>
1634
1635         Sort WebCore.xcodeproj
1636         Accomplished using sort-Xcode-project-file.
1637
1638         * WebCore.xcodeproj/project.pbxproj:
1639
1640 2011-08-07  James Kozianski  <koz@chromium.org>
1641
1642         Make the fullscreen JS API enabled at runtime.
1643         https://bugs.webkit.org/show_bug.cgi?id=65501
1644
1645         Reviewed by Adam Barth.
1646
1647         * bindings/generic/RuntimeEnabledFeatures.cpp:
1648         * bindings/generic/RuntimeEnabledFeatures.h:
1649         (WebCore::RuntimeEnabledFeatures::webkitFullScreenAPIEnabled):
1650         (WebCore::RuntimeEnabledFeatures::setWebkitFullScreenAPIEnabled):
1651         (WebCore::RuntimeEnabledFeatures::webkitRequestFullScreenEnabled):
1652         (WebCore::RuntimeEnabledFeatures::webkitIsFullScreenEnabled):
1653         (WebCore::RuntimeEnabledFeatures::webkitFullScreenKeyboardInputAllowedEnabled):
1654         (WebCore::RuntimeEnabledFeatures::webkitCurrentFullScreenElementEnabled):
1655         (WebCore::RuntimeEnabledFeatures::webkitCancelFullScreenEnabled):
1656         * dom/Document.idl:
1657         * dom/Element.idl:
1658
1659 2011-08-07  Martin Robinson  <mrobinson@igalia.com>
1660
1661         Distribution fix for GTK+.
1662
1663         * GNUmakefile.am: Add some files to the distribution list.
1664         * GNUmakefile.list.am: Strip removed files from the source list.
1665
1666 2011-08-07  Jochen Eisinger  <jochen@chromium.org>
1667
1668         Move FrameLoadRequest to loader/
1669         https://bugs.webkit.org/show_bug.cgi?id=65817
1670
1671         Reviewed by Alexey Proskuryakov.
1672
1673         * GNUmakefile.list.am:
1674         * WebCore.gypi:
1675         * WebCore.vcproj/WebCore.vcproj:
1676         * WebCore.xcodeproj/project.pbxproj:
1677         * loader/FrameLoadRequest.h:
1678         (WebCore::FrameLoadRequest::FrameLoadRequest):
1679         (WebCore::FrameLoadRequest::isEmpty):
1680         (WebCore::FrameLoadRequest::requester):
1681         (WebCore::FrameLoadRequest::resourceRequest):
1682         (WebCore::FrameLoadRequest::frameName):
1683         (WebCore::FrameLoadRequest::setFrameName):
1684
1685 2011-08-07  Sam White  <samuel.white@rochester.edu>
1686
1687         Add the ability to search the AccessibilityObject cache
1688         https://bugs.webkit.org/show_bug.cgi?id=64994
1689         
1690         New AccessibilityObject cache search functionality and API for the mac
1691         platform to expose it. At this point the AccessibilityObject cache can
1692         be searched using one of the supported search keys that have been defined
1693         in AccessibilityObject.h, or by passing search text.
1694
1695         Reviewed by Chris Fleizach.
1696
1697         Test: platform/mac/accessibility/search-predicate.html
1698
1699         * accessibility/AccessibilityObject.cpp:
1700         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
1701         (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
1702         (WebCore::AccessibilityObject::accessibilityObjectContainsText):
1703         (WebCore::AccessibilityObject::accessibleObjectsWithAccessibilitySearchPredicate):
1704         * accessibility/AccessibilityObject.h:
1705         * accessibility/mac/AccessibilityObjectWrapper.mm:
1706         (createAccessibilitySearchKeyMap):
1707         (accessibilitySearchKeyForString):
1708         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1709         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1710
1711 2011-08-06  Mark Rowe  <mrowe@apple.com>
1712
1713         Fix a memory leak found via code inspection.
1714
1715         Rubber-stamped by Dan Bernstein.
1716
1717         * platform/mac/PasteboardMac.mm:
1718         (WebCore::Pasteboard::writeSelection): Adopt the newly-allocated WebHTMLConverter
1719         instance so that it does not leak.
1720
1721 2011-08-05  Darin Adler  <darin@apple.com>
1722
1723         Fix Timer heap implementation to work with more libraries (other versions of STL)
1724         https://bugs.webkit.org/show_bug.cgi?id=65782
1725
1726         Reviewed by Anders Carlsson.
1727
1728         No behavior change, so no tests needed. Existing tests pass.
1729
1730         * platform/Timer.cpp: Added TimerHeapPointer and TimerHeapReference class
1731         alongside the TimerHeapIterator class. Also added a swap function. Also
1732         added a TimerHeapLessThanFunction class.
1733         (WebCore::TimerBase::heapDecreaseKey): Pass pointers in to the TimerHeapIterator
1734         since that's how the class works now. Pass a TimerHeapLessThanFunction object
1735         instead of letting the library use the < operator directly.
1736         (WebCore::TimerBase::heapPopMin): Ditto.
1737
1738         * platform/Timer.h: Updated for above changes.
1739
1740 2011-08-06  Aron Rosenberg  <arosenberg@logitech.com>
1741
1742         Reviewed by Benjamin Poulain.
1743
1744         [Qt] Fix build with Intel compiler on Windows
1745         https://bugs.webkit.org/show_bug.cgi?id=65088
1746
1747         Intel compiler needs .lib suffixes instead of .a
1748
1749         * WebCore.pri:
1750
1751 2011-08-06  Dan Bernstein  <mitz@apple.com>
1752
1753         Move the shared LineBreakIteratorPool from ThreadGlobalData into its own ThreadSpecific
1754         https://bugs.webkit.org/show_bug.cgi?id=65809
1755
1756         Reviewed by Darin Adler and Sam Weinig.
1757
1758         * platform/ThreadGlobalData.cpp:
1759         (WebCore::ThreadGlobalData::destroy): Removed code to clear the m_lineBreakIteratorPool member
1760         variable, which was removed.
1761         * platform/ThreadGlobalData.h: Removed lineBreakIteratorPool() and associated member variable.
1762         * platform/text/LineBreakIteratorPoolICU.h:
1763         (WebCore::LineBreakIteratorPool::sharedPool): Changed to return a thread-specific pool.
1764
1765 2011-08-06  Joseph Pecoraro  <joepeck@webkit.org>
1766
1767         Potential Leaks - RetainPtr<> over retaining Create'd objects
1768         https://bugs.webkit.org/show_bug.cgi?id=65806
1769
1770         Reviewed by Darin Adler.
1771
1772         Fix a possible leak by adopting an allocation instead of retaining it.
1773
1774         * platform/network/mac/NetworkStateNotifierMac.cpp:
1775         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
1776         * plugins/mac/PluginPackageMac.cpp:
1777         (WebCore::stringListFromResourceId):
1778         (WebCore::PluginPackage::fetchInfo):
1779
1780 2011-08-06  Rafael Brandao  <rafael.lobo@openbossa.org>
1781
1782         REGRESSION (r91540): Favicons are not loaded
1783         https://bugs.webkit.org/show_bug.cgi?id=65692
1784
1785         Reviewed by Darin Adler.
1786
1787         The policy that evaluates whether a page can have icon or not should not
1788         need to be reimplemented each time a new IconDatabaseBase is derived,
1789         so it was moved to WebCore's scope.
1790
1791         * loader/icon/IconController.cpp:
1792         (WebCore::IconController::startLoader):
1793         * loader/icon/IconDatabase.cpp:
1794         * loader/icon/IconDatabase.h:
1795         * loader/icon/IconDatabaseBase.cpp:
1796         (WebCore::documentCanHaveIcon):
1797         * loader/icon/IconDatabaseBase.h:
1798
1799 2011-08-06  Kenichi Ishibashi  <bashi@chromium.org>
1800
1801         Should use C++-style cast in CSSParser.cpp
1802         https://bugs.webkit.org/show_bug.cgi?id=65807
1803
1804         Replaces C-style cast with C++style cast.
1805
1806         Reviewed by Shinichiro Hamaji.
1807
1808         No new tests because no behavior change.
1809
1810         * css/CSSParser.cpp:
1811         (WebCore::CSSParser::parseAnimationTimingFunction):
1812         (WebCore::CSSParser::parseFont):
1813         (WebCore::CSSParser::parseColorFromValue):
1814         (WebCore::CSSParser::parseFontFeatureTag):
1815
1816 2011-08-06  Nikolas Zimmermann  <nzimmermann@rim.com>
1817
1818         REGRESSION(87526): ASSERT(!needsLayout()) followed by graphical glitches on google charts (svg loaded in iframe)
1819         https://bugs.webkit.org/show_bug.cgi?id=64974
1820
1821         svg/zoom/page/zoom-svg-through-object-with-*.xhtml are flaky
1822         https://bugs.webkit.org/show_bug.cgi?id=63186
1823
1824         Reviewed by Zoltan Herczeg.
1825
1826         Fix host <-> embedded document size negotiation race. The currently implemented solution relied on a specific
1827         order of paint/layout calls, which is broken. Consider rendering a document containing an object/iframe/embed
1828         referencing an external SVG file. When FrameView::layout() is called (associated with the outermost RenderView
1829         of the host document), it lays out the whole document, and afterwards performPostLayoutTasks() is called.
1830         This method then asks the Frames contentRenderer to update its widget positions. This triggers a call
1831         of the embedded documents FrameView::layout() method, which now lays out the embedded SVG documents tree
1832         through RenderSVGRoot::layout.
1833
1834         And here's the bug: The size of the object/iframe replaced element, which hosts the embedded document
1835         may depend on the intrinsic size of the SVG. We tried to mark the embedded documents _ownerRenderer_ (the RenderPart)
1836         as "needs layout and pref width recalc" right from RenderSVGRoot::layout() and hoped that this would cause the whole
1837         document to be laid out again, now that the size of the embedded SVG document is known.
1838
1839         As soon as the SVG document is laid out, the host document will be painted (flush deferred repaints) and an assertion
1840         ASSERTS(!needsLayout()) will be fired, as we modified the setNeedsLayout() state after the host document layout finished,
1841         right before painting.
1842
1843         A proper fix is to only keep track in RenderSVGRoot whether it needs to negotiate the size with the host document, but
1844         not modify the layout state of the host document in any way. Let FrameView handle the size negotiation right in
1845         FrameView::layout().
1846
1847         Consider following document:
1848         <body><iframe src="some.svg"></body>
1849         
1850         After initial loading & parsing of the document, a FrameView exists for the main frame, and a sub-FrameView
1851         for the <iframe>. The external SVG document, may not be loaded yet at this point. That means when RenderIFrame::layout()
1852         tries to figure out its size (computeLogicalWidth/Height) - the RenderSVGRoot renderer of the external document hasn't
1853         been created yet (as the external document hasn't received data yet) - so it falls back to eg. 300x150 CSS default size
1854         (in the simplest case, where width/height are both auto).
1855
1856         Suppose the external document now finished loading, the RenderSVGRoot is created and a global relayout is triggered
1857         starting from the main FrameView. As we already laid out the document once, needsLayout() is false for the main FrameView,
1858         so _only_ the child frame view that contains the RenderSVGRoot is now laid out, for the first time.
1859
1860         After layout is done, the SVG document is fully laid out, though the RenderPart which embedded the SVG does NOT notice
1861         the SVG has been laid out, so it still carries the default 300x150 size (and needsLayout=false!).
1862
1863         The fix is to retrigger layout of the parent frame view by marking the owner renderer of the frame view as "needs layout
1864         and pref widths recalc" and immediatiely performing a synchronous update of the layout. It's important to do it sync,
1865         as scripts depend on the result of the size negotiation (covered extensively with the new tests in svg/as-object).
1866
1867         Reenable svg/zoom/page/zoom-svg-through-object* tests to see whether the flakiness is gone.
1868
1869         Tests: svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html
1870                svg/as-object/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html
1871                svg/as-object/embedded-svg-immediate-offsetWidth-query.html
1872                svg/as-object/embedded-svg-size-changes-no-layout-triggers.html
1873                svg/as-object/embedded-svg-size-changes.html
1874                svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-1.html
1875                svg/as-object/nested-embedded-svg-size-changes-no-layout-triggers-2.html
1876                svg/as-object/nested-embedded-svg-size-changes.html
1877                svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
1878                svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
1879                svg/zoom/page/zoom-svg-through-object-with-auto-size.html
1880                svg/zoom/page/zoom-svg-through-object-with-huge-size.xhtml
1881                svg/zoom/page/zoom-svg-through-object-with-override-size.html
1882                svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
1883
1884         * page/FrameView.cpp:
1885         (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() after layout finished.
1886         (WebCore::FrameView::forceLayoutParentViewIfNeeded): Added helper method.
1887         (WebCore::FrameView::embeddedContentBox): Moved from RenderPart to a more central place.
1888         * page/FrameView.h:
1889         * rendering/RenderPart.cpp:
1890         (WebCore::RenderPart::embeddedContentBox): Moved to FrameView.
1891         * rendering/svg/RenderSVGRoot.cpp: Rename m_didNegotiateSize to m_needsSizeNegotiationWithHostDocument.
1892         (WebCore::RenderSVGRoot::RenderSVGRoot):
1893         (WebCore::RenderSVGRoot::layout): Only figure out if we need neggotiation, don't actually do anything, let FrameView handle this.
1894         * rendering/svg/RenderSVGRoot.h: Remove incorrect negotiateSizeWithHostDocumentIfNeeded() logic.
1895         (WebCore::RenderSVGRoot::needsSizeNegotiationWithHostDocument): Added getter for m_needsSizeNegotiationWithHostDocument.
1896         (WebCore::RenderSVGRoot::scheduledSizeNegotiationWithHostDocument): Added safe way to clear m_needsSizeNegotiationWithHostDocument (asserts if it was false before).
1897
1898 2011-08-05  Noel Gordon  <noel.gordon@gmail.com>
1899
1900         [Chromium] Remove HaltablePlugin references from gyp project files
1901         https://bugs.webkit.org/show_bug.cgi?id=65808
1902
1903         HaltablePlugin and related classes were removed in r92492.  Remove any
1904         reference to the deleted files from the gyp project files.
1905
1906         Reviewed by Adam Barth.
1907
1908         * WebCore.gypi: remove HaltablePlugin.h reference.
1909
1910 2011-08-05  Mark Rowe  <mrowe@apple.com>
1911
1912         Attempt to fix the build after r92538.
1913
1914         Like all of the recent "track"-related work the new files in r92538 appear to have
1915         been added to completely random places in the Xcode project. However, this time
1916         the file paths were marked as being relative to their containing group resulting in
1917         Xcode being unable to find the files on disk.
1918
1919         I've attempted to clean up all of the "track"-related mess in the Xcode project.
1920         The location of the files in the project now reflect their locations on disk, and
1921         are all correctly marked as being relative to their containing group as is our
1922         convention.
1923
1924         * WebCore.xcodeproj/project.pbxproj:
1925
1926 2011-08-05  Tom Hudson  <tomhudson@google.com>
1927
1928         https://bugs.webkit.org/show_bug.cgi?id=64613
1929         Use supported framebuffer renderbuffer mode; chromium command buffer
1930         allows DEPTH and STENCIL but not DEPTH_STENCIL.
1931
1932         Reviewed by James Robinson.
1933
1934         No new tests because was caught by extant tests, albeit only when
1935         accelerated drawing and forced compositing were both turned on.
1936
1937         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1938         (WebCore::LayerTextureUpdaterSkPicture::createFrameBuffer):
1939
1940 2011-08-05  Anna Cavender  <annacc@chromium.org>
1941
1942         Adding a WebVTTParser for <track>.
1943         https://bugs.webkit.org/show_bug.cgi?id=62882
1944
1945         Reviewed by Eric Carlson.
1946
1947         Feature is hidden behind VIDEO_TRACK feature define, which is turned off, but
1948         new tests have been added in media/track/ (and are skipped).
1949
1950         * CMakeLists.txt:
1951         * GNUmakefile.list.am:
1952         * WebCore.gypi:
1953         * WebCore.pro:
1954         * WebCore.xcodeproj/project.pbxproj:
1955         * html/TextTrackCue.cpp:
1956         * html/TextTrackCue.h:
1957         * platform/track/CueParser.cpp:
1958         * platform/track/CueParser.h:
1959         * platform/track/CueParserPrivate.h:
1960         * platform/track/WebVTTParser.cpp: Added.
1961         * platform/track/WebVTTParser.h: Added.
1962
1963 2011-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1964
1965         Unreviewed, rolling out r92330.
1966         http://trac.webkit.org/changeset/92330
1967         https://bugs.webkit.org/show_bug.cgi?id=65804
1968
1969         caused various regressions in paste (Requested by rniwa on
1970         #webkit).
1971
1972         * editing/ReplaceSelectionCommand.cpp:
1973         (WebCore::isInlineNodeWithStyle):
1974         (WebCore::ReplaceSelectionCommand::doApply):
1975         * editing/markup.cpp:
1976         (WebCore::ancestorToRetainStructureAndAppearance):
1977         * editing/markup.h:
1978
1979 2011-08-05  Kent Tamura  <tkent@chromium.org>
1980
1981         Unreviewed, rolling out r92477.
1982         http://trac.webkit.org/changeset/92477
1983         https://bugs.webkit.org/show_bug.cgi?id=62619
1984
1985         Layering violation. We should not use WebCore/dom/ in
1986         WebCore/platform/.
1987
1988         * WebCore.exp.in:
1989         * WebCore.xcodeproj/project.pbxproj:
1990         * html/ColorInputType.cpp:
1991         (WebCore::ColorInputType::valueChanged):
1992         * html/ColorInputType.h:
1993         * html/FileInputType.cpp:
1994         (WebCore::FileInputType::chrome):
1995         * html/FileInputType.h:
1996         * html/HTMLInputElement.cpp:
1997         (WebCore::HTMLInputElement::detach):
1998         * html/InputType.cpp:
1999         * html/InputType.h:
2000         * loader/EmptyClients.h:
2001         * loader/FrameLoader.cpp:
2002         (WebCore::FrameLoader::transitionToCommitted):
2003         * page/Chrome.cpp:
2004         * page/Chrome.h:
2005         * page/ChromeClient.h:
2006         * platform/ColorChooser.cpp: Removed.
2007         * platform/ColorChooser.h: Removed.
2008
2009 2011-08-05  Darin Adler  <darin@apple.com>
2010
2011         Try to fix Qt Mac build.
2012
2013         * plugins/mac/PluginViewMac.mm: Removed PluginHalter functions.
2014
2015 2011-08-05  Joseph Pecoraro  <joepeck@webkit.org>
2016
2017         Leak in CFNetwork Loader RetainPtr<> should Adopt a Copy allocation
2018         https://bugs.webkit.org/show_bug.cgi?id=65789
2019
2020         Reviewed by David Kilzer.
2021
2022         Fix a leak by adopting an allocation instead of retaining it.
2023
2024         * platform/network/cf/FormDataStreamCFNet.cpp:
2025         (WebCore::httpBodyFromRequest):
2026
2027 2011-08-05  Ben Wells  <benwells@chromium.org>
2028
2029         Introduced fast path for border rendering when all visible sides are solid, same rgba color but not all visible
2030         https://bugs.webkit.org/show_bug.cgi?id=65762
2031
2032         Reviewed by Simon Fraser.
2033
2034         No intended change in behaviour, no new tests.
2035
2036         * rendering/RenderBoxModelObject.cpp:
2037         (WebCore::calculateSideRect):
2038         (WebCore::RenderBoxModelObject::paintBorderSides):
2039         (WebCore::RenderBoxModelObject::paintBorder):
2040
2041 2011-08-05  Kenichi Ishibashi  <bashi@chromium.org>
2042
2043         Unreviewed build fix on 32-bit Mac.
2044
2045         * css/CSSParser.cpp:
2046         (WebCore::CSSParser::parseFontFeatureTag): Added a cast to int.
2047
2048 2011-08-05  Ryosuke Niwa  <rniwa@webkit.org>
2049
2050         Upwards cursor movement incorrect when previous block ends with <br>
2051         https://bugs.webkit.org/show_bug.cgi?id=33247
2052
2053         Reviewed by Tony Chang.
2054
2055         The bug was caused by previousLinePosition's trying to obtain the root line box at the position
2056         after the previous line's br. This obviously fails because the the position after br is considered
2057         as a part of the next line.
2058
2059         Fixed the bug by obtaining root inline boxes using position at the minimum caret offset as supposed
2060         to maximum caret offset. The code was initially introduced by r32508 to fix arrow key movement in RTL text
2061         but the test added by the revision continues to pass after this change. Furthermore, this change makes
2062         new code consistent with nextLinePosition.
2063
2064         Also reverted the change added by r55613 because it is no longer needed.
2065
2066         Tests: editing/execCommand/move-selection-back-line-rtl.html
2067                editing/execCommand/move-selection-back-line-strict.html
2068
2069         * editing/visible_units.cpp:
2070         (WebCore::previousLinePosition):
2071
2072 2011-08-05  James Robinson  <jamesr@chromium.org>
2073
2074         [chromium] Accelerated canvas breaks when moving canvases or resources between Pages
2075         https://bugs.webkit.org/show_bug.cgi?id=65402
2076
2077         Reviewed by Stephen White.
2078
2079         Use one shared GraphicsContext3D for the whole process instead of one per Page as canvases can move between
2080         pages and directly draw into contexts in different pages.  Also switches DrawingBufferChromium over to use a
2081         directly shared the color attachment instead of copying it to a separate texture and removes the now-unnecessary
2082         DrawingBuffer::didReset() call and WillPublishCallback mechanism.
2083
2084         * page/Page.cpp:
2085         (WebCore::Page::sharedGraphicsContext3D):
2086         * page/Page.h:
2087         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
2088         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
2089         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
2090         (WebCore::Canvas2DLayerChromium::textureId):
2091         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
2092         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2093         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
2094         * platform/graphics/chromium/CanvasLayerChromium.h:
2095         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2096         (WebCore::DrawingBuffer::DrawingBuffer):
2097         (WebCore::DrawingBuffer::publishToPlatformLayer):
2098         * platform/graphics/chromium/Extensions3DChromium.h:
2099         * platform/graphics/chromium/WebGLLayerChromium.cpp:
2100         (WebCore::WebGLLayerChromium::WebGLLayerChromium):
2101         * platform/graphics/chromium/WebGLLayerChromium.h:
2102
2103 2011-08-05  Anders Carlsson  <andersca@apple.com>
2104
2105         Fix Chromium build.
2106
2107         * WebCore.gypi:
2108
2109 2011-08-05  Anders Carlsson  <andersca@apple.com>
2110
2111         Remove PluginHalter
2112         https://bugs.webkit.org/show_bug.cgi?id=65729
2113
2114         Reviewed by Darin Adler.
2115
2116         Remove plug-in halter and associated classes.
2117
2118         * CMakeLists.txt:
2119         * GNUmakefile.list.am:
2120         * WebCore.exp.in:
2121         * WebCore.pro:
2122         * WebCore.vcproj/WebCore.vcproj:
2123         * WebCore.xcodeproj/project.pbxproj:
2124         * loader/EmptyClients.h:
2125         * page/HaltablePlugin.h: Removed.
2126         * page/Page.cpp:
2127         (WebCore::Page::Page):
2128         * page/Page.h:
2129         * page/PluginHalter.cpp: Removed.
2130         * page/PluginHalter.h: Removed.
2131         * page/PluginHalterClient.h: Removed.
2132         * page/Settings.cpp:
2133         (WebCore::Settings::Settings):
2134         * page/Settings.h:
2135         * plugins/PluginView.cpp:
2136         (WebCore::PluginView::start):
2137         (WebCore::PluginView::stop):
2138         (WebCore::PluginView::PluginView):
2139         * plugins/PluginView.h:
2140         * plugins/PluginViewNone.cpp:
2141         * plugins/gtk/PluginViewGtk.cpp:
2142         * plugins/qt/PluginViewQt.cpp:
2143         * plugins/win/PluginViewWin.cpp:
2144         * rendering/RenderWidget.cpp:
2145         (WebCore::RenderWidget::paint):
2146         * rendering/RenderWidget.h:
2147
2148 2011-08-05  Jochen Eisinger  <jochen@chromium.org>
2149
2150         Introduce a new ResourceRequest::TargetType for XHRs
2151         https://bugs.webkit.org/show_bug.cgi?id=65544
2152
2153         Reviewed by Darin Fisher.
2154
2155         * platform/network/chromium/ResourceRequest.h:
2156         * xml/XMLHttpRequest.cpp:
2157         (WebCore::XMLHttpRequest::createRequest):
2158
2159 2011-08-05  Yael Aharon  <yael.aharon@nokia.com>
2160
2161         dir=auto needs to work on value of input and textarea elements
2162         https://bugs.webkit.org/show_bug.cgi?id=65428
2163
2164         Reviewed by Darin Adler.
2165
2166         Changed the directionality algorithm to evaluate the value of input elements and textarea elements when
2167         they have the attribute dir-auto Set.
2168         Also skip these elements when evaluating the directionality of their ancestors.
2169
2170         HTMLTextAreaElement::childrenChanged is not called when a user types into the textarea, so call
2171         calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
2172
2173         HTMLInputElement::childrenChanged is not called when a user types into the textarea, so call
2174         calculateAndAdjustDirectionality() explicitly from HTMLTextAreaElement::subtreeHasChanged().
2175
2176         Tests: fast/dom/HTMLElement/attr-dir-auto-changed-text-form-control.html
2177                fast/dom/HTMLElement/attr-dir-auto-text-form-control-child.html
2178                fast/dom/HTMLElement/attr-dir-auto-text-form-control.html
2179
2180         * html/HTMLElement.cpp:
2181         (WebCore::HTMLElement::directionality):
2182         * html/HTMLElement.h:
2183         * html/HTMLTextAreaElement.cpp:
2184         (WebCore::HTMLTextAreaElement::subtreeHasChanged):
2185
2186 2011-08-05  Keishi Hattori  <keishi@webkit.org>
2187
2188         Implement <input type=color> UI behavior WebCore part
2189         https://bugs.webkit.org/show_bug.cgi?id=62619
2190
2191         Reviewed by Kent Tamura.
2192
2193         * WebCore.exp.in: Added __ZN7WebCore12ColorChooser7chooserEv and
2194         __ZNK7WebCore12ColorChooser13colorSelectedERKNS_5ColorE
2195         * WebCore.xcodeproj/project.pbxproj: Added ColorChooser.{h,cpp}
2196         * html/ColorInputType.cpp:
2197         (WebCore::ColorInputType::~ColorInputType): Added. Close color chooser. ex. when type attribute changes.
2198         (WebCore::ColorInputType::valueAsColor): Added.
2199         (WebCore::ColorInputType::setValueAsColor): Added.
2200         (WebCore::ColorInputType::valueChanged): Update selected color in color chooser too.
2201         (WebCore::ColorInputType::handleClickEvent): Opens color chooser.
2202         (WebCore::ColorInputType::handleDOMActivateEvent): Called when element.click(). Open color chooser only
2203         when it was initiated by a user interaction.
2204         (WebCore::ColorInputType::detach): Close color chooser. Called when input element or its ancestors have "display:none"
2205         or is removed from DOM.
2206         (WebCore::ColorInputType::colorSelected): Callback from color chooser.
2207         (WebCore::ColorInputType::closeColorChooserIfClientIsInDocument): Close color chooser if element is in
2208         document. Called when the page navigates away.
2209         (WebCore::ColorInputType::closeColorChooserIfCurrentClient): Close color chooser if this input type is the current client of ColorChooser.
2210         * html/ColorInputType.h:
2211         * html/FileInputType.cpp:
2212         * html/FileInputType.h:
2213         * html/HTMLInputElement.cpp:
2214         (WebCore::HTMLInputElement::detach): Calls InputType::detach
2215         * html/InputType.cpp:
2216         (WebCore::InputType::chrome): Added. Used in FileInputType and ColorInputType.
2217         (WebCore::InputType::detach): ColorInputType overrides this.
2218         * html/InputType.h:
2219         * loader/EmptyClients.h:
2220         (WebCore::EmptyChromeClient::openColorChooser): Added.
2221         (WebCore::EmptyChromeClient::closeColorChooser): Added.
2222         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Added.
2223         * loader/FrameLoader.cpp:
2224         (WebCore::FrameLoader::transitionToCommitted): Close color chooser when
2225         navigating away from the page.
2226         * page/Chrome.cpp:
2227         (WebCore::Chrome::openColorChooser): Added. Opens the color chooser.
2228         (WebCore::Chrome::closeColorChooser): Added. Tries to close the color chooser. Might not close if the
2229         listener of the color chooser is another part of the browser or another render process.
2230         (WebCore::Chrome::setSelectedColorInColorChooser): Added. Sets the selected color in the color chooser.
2231         Again, might not be executed if the listener of the color chooser is another part of the browser or another render process.
2232         * page/Chrome.h:
2233         * page/ChromeClient.h:
2234         * platform/ColorChooser.cpp: Added.
2235         (WebCore::ColorChooserClient::~ColorChooserClient): Disconnects itself from the ColorChooser.
2236         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
2237         (WebCore::ColorChooser::chooser): Get shared instance of ColorChooser.
2238         (WebCore::ColorChooser::connectClient): Connects a ColorChooserClient that receives the colorSelected callbacks.
2239         (WebCore::ColorChooser::disconnectClient): Disconnects the connectClient.
2240         (WebCore::ColorChooser::closeColorChooserIfClientIsInDocument): Close the color chooser if the client is
2241         inside the document.
2242         (WebCore::ColorChooser::colorSelected): Called from color chooser listener.
2243         * platform/ColorChooser.h: Added.
2244         (WebCore::ColorChooser::client): Added. Returns the current connected client.
2245         (WebCore::ColorChooser::ColorChooser): Added.
2246
2247 2011-08-05  Yury Semikhatsky  <yurys@chromium.org>
2248
2249         Web Inspector: check that detaching frame has been attached before removing it from the console selector
2250         https://bugs.webkit.org/show_bug.cgi?id=65686
2251
2252         Reviewed by Pavel Feldman.
2253
2254         * inspector/front-end/JavaScriptContextManager.js:
2255         (WebInspector.JavaScriptContextManager.prototype._frameDetached):
2256
2257 2011-08-05  Keishi Hattori  <keishi@webkit.org>
2258
2259         Sort WebCore.xcodeproj
2260         Accomplished using sort-Xcode-project-file.
2261
2262         * WebCore.xcodeproj/project.pbxproj:
2263
2264 2011-08-05  Yury Semikhatsky  <yurys@chromium.org>
2265
2266         Web Inspector: constrain maximum depth for returnByValue objects
2267         https://bugs.webkit.org/show_bug.cgi?id=65761
2268
2269         Set maximum depth to 20 for objects returned by value as a result of evaluations.
2270
2271         Reviewed by Pavel Feldman.
2272
2273         * bindings/js/ScriptValue.cpp:
2274         (WebCore::jsToInspectorValue):
2275         (WebCore::ScriptValue::toInspectorValue):
2276         * bindings/v8/ScriptValue.cpp:
2277         (WebCore::v8ToInspectorValue):
2278         (WebCore::ScriptValue::toInspectorValue):
2279         * inspector/InjectedScript.cpp:
2280         (WebCore::InjectedScript::makeCall):
2281         * inspector/InspectorValues.h:
2282
2283 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
2284
2285         Remove LegacyDefaultOptionalArguments flag from appcache IDL files
2286         https://bugs.webkit.org/show_bug.cgi?id=65752
2287
2288         Reviewed by Adam Barth.
2289
2290         No new tests, all existing tests pass.
2291
2292         * loader/appcache/DOMApplicationCache.idl:
2293
2294 2011-08-04  Hans Wennborg  <hans@chromium.org>
2295
2296         IndexedDB: Stop using free-lists for database/object store/index ids.
2297         https://bugs.webkit.org/show_bug.cgi?id=65678
2298
2299         Reviewed by Tony Chang.
2300
2301         Don't use free-lists for database/object store/index ids,
2302         just assign increasing numbers.
2303
2304         It turns out that deleting an object store and creating a new one with
2305         the same id would cause the delete markers from the old object store to
2306         slow down lookups into the new one. Therefore we should generate
2307         a new id every time. Running out of ids (64 bits for databases and
2308         object stores, 32 bits for indices) is not realistic.
2309
2310         Also make functions that generate new ids report errors, and make the
2311         callers of those functions check the return values.
2312
2313         We must still delete free-lists when deleting an object store, and we
2314         must keep the code for encoding/decoding/comparison of free-list keys
2315         since users might have them in their databases.
2316
2317         This is just a performance optimization, so no new tests.
2318
2319         * storage/IDBLevelDBBackingStore.cpp:
2320         (WebCore::getNewDatabaseId):
2321         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
2322         (WebCore::getNewObjectStoreId):
2323         (WebCore::IDBLevelDBBackingStore::createObjectStore):
2324         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
2325         (WebCore::getNewIndexId):
2326         (WebCore::IDBLevelDBBackingStore::createIndex):
2327         (WebCore::IDBLevelDBBackingStore::deleteIndex):
2328
2329 2011-08-05  Roland Steiner  <rolandsteiner@chromium.org>
2330
2331         Unreviewed: change an instance of isImportRule() that was overlooked in commit 92448.
2332
2333         No new tests. (No functional change)
2334
2335         * xml/XSLImportRule.h:
2336         (WebCore::XSLImportRule::isImportRule):
2337
2338 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
2339
2340         Remove LegacyDefaultOptionalArguments flag from remaining SVG IDL files
2341         https://bugs.webkit.org/show_bug.cgi?id=65751
2342
2343         Reviewed by Adam Barth.
2344
2345         No new tests, all existing tests pass.
2346
2347         * svg/SVGElementInstance.idl:
2348
2349 2011-08-05  Pavel Feldman  <pfeldman@google.com>
2350
2351         Web Inspector: do not delay scroll event handling - scroll is already async.
2352         https://bugs.webkit.org/show_bug.cgi?id=65693
2353
2354         Reviewed by Yury Semikhatsky.
2355
2356         * inspector/front-end/TextViewer.js:
2357         (WebInspector.TextViewer.prototype._syncScroll):
2358
2359 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
2360
2361         Remove LegacyDefaultOptionalArguments flag from web audio API
2362         https://bugs.webkit.org/show_bug.cgi?id=65750
2363
2364         Reviewed by Adam Barth.
2365
2366         No new tests, all existing tests pass.
2367
2368         * webaudio/AudioBufferSourceNode.idl:
2369
2370 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
2371
2372         Remove LegacyDefaultOptionalArguments flag from Web Workers
2373         https://bugs.webkit.org/show_bug.cgi?id=65746
2374
2375         Reviewed by Adam Barth.
2376
2377         No new tests, all existing tests pass.
2378
2379         * workers/AbstractWorker.idl:
2380         * workers/DedicatedWorkerContext.idl:
2381         * workers/Worker.idl:
2382         * workers/WorkerContext.idl:
2383
2384 2011-08-05  Kenichi Ishibashi  <bashi@chromium.org>
2385
2386         Parsing CSS3 font-feature-settings property
2387         https://bugs.webkit.org/show_bug.cgi?id=63618
2388
2389         Introduces CSS3 font-feature-settings property as -webkit-font-feature-settings.  This change only contains parsing part.  Parsed information are stored in FontDescription class.
2390
2391         Reviewed by Shinichiro Hamaji.
2392
2393         Test: css3/font-feature-settings-parsing.html
2394
2395         * CMakeLists.txt: Added FontFeatureValue.{h,cpp} and FontFeatureSettings.{h,cpp}.
2396         * GNUmakefile.list.am: Ditto.
2397         * WebCore.gypi: Ditto.
2398         * WebCore.pro: Ditto.
2399         * WebCore.vcproj/WebCore.vcproj: Ditto.
2400         * WebCore.xcodeproj/project.pbxproj: Ditto.
2401         * css/CSSComputedStyleDeclaration.cpp:
2402         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added CSSPropertyWebkitFontFeatureSettings.
2403         * css/CSSParser.cpp:
2404         (WebCore::CSSParser::parseValue): Added parsing code for -webkit-font-feature-settings.
2405         (WebCore::CSSParser::parseFontFeatureTag): Added.
2406         (WebCore::CSSParser::parseFontFeatureSettings): Added.
2407         * css/CSSParser.h: Added parseFontFeatureSettings().
2408         * css/CSSPropertyNames.in: Added -webkit-font-feature-settings.
2409         * css/CSSStyleSelector.cpp:
2410         (WebCore::CSSStyleSelector::applyDeclarations): Modified a compile assert to follow adding -webkit-font-feature-settings.
2411         (WebCore::CSSStyleSelector::applyProperty): Added a case clause for CSSPropertyWebkitFontFeatureSettings.
2412         * css/CSSValue.h:
2413         (WebCore::CSSValue::isFontFeatureValue): Added.
2414         * css/CSSValueKeywords.in: Added 'on' and 'off' keywords.
2415         * css/FontFeatureValue.cpp: Added.
2416         (WebCore::FontFeatureValue::FontFeatureValue):
2417         (WebCore::FontFeatureValue::value):
2418         (WebCore::FontFeatureValue::cssText):
2419         * css/FontFeatureValue.h: Added.
2420         (WebCore::FontFeatureValue::create):
2421         (WebCore::FontFeatureValue::tag):
2422         (WebCore::FontFeatureValue::isFontFeatureValue):
2423         * platform/graphics/FontDescription.cpp:
2424         (WebCore::FontDescription::makeNormalFeatureSettings): Added.
2425         * platform/graphics/FontDescription.h:
2426         (WebCore::FontDescription::FontDescription): Added m_featureSettings member variable.
2427         (WebCore::FontDescription::featureSettings): Added.
2428         (WebCore::FontDescription::setFeatureSettings): Added.
2429         (WebCore::FontDescription::operator==): Modified to take into account m_featureSettings
2430         * platform/graphics/FontFeatureSettings.cpp: Added.
2431         (WebCore::FontFeature::FontFeature):
2432         (WebCore::FontFeature::operator=):
2433         (WebCore::FontFeature::operator==):
2434         (WebCore::FontFeatureSettings::FontFeatureSettings):
2435         * platform/graphics/FontFeatureSettings.h: Added.
2436         (WebCore::FontFeature::tag):
2437         (WebCore::FontFeature::value):
2438         (WebCore::FontFeatureSettings::create):
2439         (WebCore::FontFeatureSettings::append):
2440         (WebCore::FontFeatureSettings::size):
2441         (WebCore::FontFeatureSettings::operator[]):
2442         (WebCore::FontFeatureSettings::at):
2443
2444 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
2445
2446         Remove LegacyDefaultOptionalArguments flag from websockets
2447         https://bugs.webkit.org/show_bug.cgi?id=65749
2448
2449         Reviewed by Adam Barth.
2450
2451         No new tests, all existing tests pass.
2452
2453         * websockets/WebSocket.idl:
2454
2455 2011-08-05  Adam Barth  <abarth@webkit.org>
2456
2457         Attempt to heal media/video-can-play-type.html and media/video-src-change.html.
2458
2459         * html/HTMLMediaElement.idl:
2460
2461 2011-08-05  Mark Pilgrim  <pilgrim@chromium.org>
2462
2463         Remove LegacyDefaultOptionalArguments flag from notifications IDL files
2464         https://bugs.webkit.org/show_bug.cgi?id=65747
2465
2466         Reviewed by Adam Barth.
2467
2468         No new tests, all existing tests pass.
2469
2470         * notifications/Notification.idl:
2471         * notifications/NotificationCenter.idl:
2472
2473 2011-08-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2474
2475         Unreviewed, rolling out r92439.
2476         http://trac.webkit.org/changeset/92439
2477         https://bugs.webkit.org/show_bug.cgi?id=65753
2478
2479         Caused 9 tests to fail on Qt (Requested by abarth on #webkit).
2480
2481         * dom/Document.cpp:
2482         (WebCore::Document::implicitOpen):
2483         * loader/FrameLoader.cpp:
2484         (WebCore::FrameLoader::transitionToCommitted):
2485         (WebCore::FrameLoader::detachChildren):
2486
2487 2011-08-04  Ryosuke Niwa  <rniwa@webkit.org>
2488
2489         Use RenderedPosition instead of getInlineBoxAndOffset in Editor and AccessibilityObject
2490         https://bugs.webkit.org/show_bug.cgi?id=65647
2491
2492         Reviewed by Hajime Morita.
2493
2494         Encapsulated the use of getInlineBoxAndOffset in Editor.cpp and AccessibilityObject.cpp by RenderedPosition.
2495
2496         Also added rendererFromPosition that returns the renderer of deprecatedNode but using a proper Position interface.
2497
2498         * accessibility/AccessibilityObject.cpp:
2499         (WebCore::updateAXLineStartForVisiblePosition):
2500         * editing/Editor.cpp:
2501         (WebCore::Editor::firstRectForRange):
2502         * editing/RenderedPosition.cpp:
2503         (WebCore::rendererFromPosition):
2504         (WebCore::RenderedPosition::RenderedPosition):
2505         (WebCore::RenderedPosition::absoluteRect):
2506         * editing/RenderedPosition.h:
2507         (WebCore::RenderedPosition::absoluteRect):
2508
2509 2011-08-04  Hayato Ito  <hayato@chromium.org>
2510
2511         Make ScopedEventQueue enqueue an EventDispatchMediator, instead of an Event.
2512         https://bugs.webkit.org/show_bug.cgi?id=65613
2513
2514         Reviewed by Dimitri Glazkov.
2515
2516         No changes to functionality so no new tests.
2517
2518         * dom/Event.h:
2519         * dom/EventDispatcher.cpp:
2520         (WebCore::EventDispatcher::dispatchScopedEvent):
2521         * dom/EventDispatcher.h:
2522         * dom/Node.cpp:
2523         (WebCore::Node::dispatchScopedEvent):
2524         (WebCore::Node::dispatchScopedEventDispatchMediator):
2525         * dom/Node.h:
2526         * dom/ScopedEventQueue.cpp:
2527         (WebCore::ScopedEventQueue::~ScopedEventQueue):
2528         (WebCore::ScopedEventQueue::enqueueEventDispatchMediator):
2529         (WebCore::ScopedEventQueue::dispatchAllEvents):
2530         (WebCore::ScopedEventQueue::dispatchEvent):
2531         * dom/ScopedEventQueue.h:
2532
2533 2011-08-04  James Robinson  <jamesr@chromium.org>
2534
2535         Unreviewed build fix.  gcc 4.5 can't figure out that the 'data' variables are always initialized in these functions.
2536
2537         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2538         (WebCore::jsArrayToFloatArray):
2539         (WebCore::jsArrayToIntArray):
2540
2541 2011-08-05  Roland Steiner  <rolandsteiner@chromium.org>
2542
2543         Improve const-correctness in CSS code: type information methods
2544         https://bugs.webkit.org/show_bug.cgi?id=65506
2545
2546         Reviewed by Simon Fraser.
2547
2548         Make "is...()" functions (e.g., "isStyleRule()") const.
2549         Also, change CSSRule's type() function to return CSSRuleType.
2550
2551         No new tests. (no change in semantics)
2552
2553         * css/CSSCharsetRule.h:
2554         (WebCore::CSSCharsetRule::isCharsetRule):
2555         (WebCore::CSSCharsetRule::type):
2556         * css/CSSFontFaceRule.h:
2557         (WebCore::CSSFontFaceRule::isFontFaceRule):
2558         (WebCore::CSSFontFaceRule::type):
2559         * css/CSSImportRule.h:
2560         (WebCore::CSSImportRule::isImportRule):
2561         (WebCore::CSSImportRule::type):
2562         * css/CSSMediaRule.h:
2563         (WebCore::CSSMediaRule::isMediaRule):
2564         (WebCore::CSSMediaRule::type):
2565         * css/CSSPageRule.h:
2566         (WebCore::CSSPageRule::isPageRule):
2567         (WebCore::CSSPageRule::type):
2568         * css/CSSRule.h:
2569         (WebCore::CSSRule::isRule):
2570         * css/CSSStyleRule.h:
2571         (WebCore::CSSStyleRule::isStyleRule):
2572         (WebCore::CSSStyleRule::type):
2573         * css/CSSUnknownRule.h:
2574         (WebCore::CSSUnknownRule::type):
2575         * css/StyleBase.h:
2576         (WebCore::StyleBase::isCharsetRule):
2577         (WebCore::StyleBase::isFontFaceRule):
2578         (WebCore::StyleBase::isImportRule):
2579         (WebCore::StyleBase::isKeyframeRule):
2580         (WebCore::StyleBase::isKeyframesRule):
2581         (WebCore::StyleBase::isMediaRule):
2582         (WebCore::StyleBase::isPageRule):
2583         (WebCore::StyleBase::isRule):
2584         (WebCore::StyleBase::isStyleRule):
2585         * css/WebKitCSSKeyframeRule.h:
2586         (WebCore::WebKitCSSKeyframeRule::isKeyframeRule):
2587         (WebCore::WebKitCSSKeyframeRule::type):
2588         * css/WebKitCSSKeyframesRule.h:
2589         (WebCore::WebKitCSSKeyframesRule::isKeyframesRule):
2590         (WebCore::WebKitCSSKeyframesRule::type):
2591
2592 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
2593
2594         Remove LegacyDefaultOptionalArguments flag from plugin IDL files
2595         https://bugs.webkit.org/show_bug.cgi?id=65745
2596
2597         Reviewed by Adam Barth.
2598
2599         No new tests, all existing tests pass.
2600
2601         * plugins/DOMMimeTypeArray.idl:
2602         * plugins/DOMPlugin.idl:
2603         * plugins/DOMPluginArray.idl:
2604
2605 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
2606
2607         Remove LegacyDefaultOptionalArguments flag from XML/XSL IDL files
2608         https://bugs.webkit.org/show_bug.cgi?id=65740
2609
2610         Reviewed by Adam Barth.
2611
2612         No new tests, all existing tests pass.
2613
2614         * xml/DOMParser.idl:
2615         * xml/XMLSerializer.idl:
2616         * xml/XPathEvaluator.idl:
2617         * xml/XPathExpression.idl:
2618         * xml/XPathNSResolver.idl:
2619         * xml/XPathResult.idl:
2620         * xml/XSLTProcessor.idl:
2621
2622 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
2623
2624         Remove LegacyDefaultOptionalArguments flag from canvas IDL files
2625         https://bugs.webkit.org/show_bug.cgi?id=65737
2626
2627         Reviewed by Adam Barth.
2628
2629         No new tests, all existing tests pass.
2630
2631         * html/canvas/CanvasGradient.idl:
2632         * html/canvas/Float32Array.idl:
2633         * html/canvas/Float64Array.idl:
2634         * html/canvas/Int16Array.idl:
2635         * html/canvas/Int32Array.idl:
2636         * html/canvas/Int8Array.idl:
2637         * html/canvas/OESVertexArrayObject.idl:
2638         * html/canvas/Uint16Array.idl:
2639         * html/canvas/Uint32Array.idl:
2640         * html/canvas/Uint8Array.idl:
2641
2642 2011-08-04  MORITA Hajime  <morrita@google.com>
2643
2644         Reviewed by Ryosuke Niwa.
2645
2646         DocumentMarker: Type specific details should be separately held by other object.
2647         https://bugs.webkit.org/show_bug.cgi?id=59855
2648
2649         - Introduced DocumentMarkerDetails abstract class and two its subclasses
2650           DocumentMarkerDescription and DocumentMarkerActiveMatch,
2651         
2652         - Replacing DocumentMarker::m_description and
2653           DocumentMarker::m_activeMatch with these new details classes.
2654         
2655         No new tests. No behavior change.
2656
2657         * CMakeLists.txt:
2658         * GNUmakefile.list.am:
2659         * WebCore.gypi:
2660         * WebCore.pro:
2661         * WebCore.vcproj/WebCore.vcproj:
2662         * WebCore.xcodeproj/project.pbxproj:
2663         * dom/DOMAllInOne.cpp:
2664         * dom/DocumentMarker.cpp: Added.
2665         (WebCore::emptyDescription):
2666         (WebCore::DocumentMarkerDetails::DocumentMarkerDetails):
2667         (WebCore::DocumentMarkerDetails::~DocumentMarkerDetails):
2668         (WebCore::DocumentMarkerDescription::description):
2669         (WebCore::DocumentMarkerDescription::isDescription):        
2670         (WebCore::DocumentMarkerDescription::DocumentMarkerDescription):
2671         (WebCore::DocumentMarkerDescription::createUnlessEmpty):
2672         (WebCore::DocumentMarkerDescription::compatibleTypes):
2673         (WebCore::DocumentMarkerTextMatch::activeMatch):    
2674         (WebCore::DocumentMarkerTextMatch::isTextMatch):
2675         (WebCore::DocumentMarkerTextMatch::DocumentMarkerTextMatch):
2676         (WebCore::DocumentMarkerTextMatch::instanceFor):
2677         (WebCore::DocumentMarkerTextMatch::compatibleTypes):
2678         (WebCore::DocumentMarker::DocumentMarker):
2679         (WebCore::DocumentMarker::shiftOffsets):
2680         (WebCore::DocumentMarker::setActiveMatch):
2681         (WebCore::DocumentMarker::description):
2682         (WebCore::DocumentMarker::activeMatch):
2683         * dom/DocumentMarker.h:
2684         (WebCore::DocumentMarker::details):
2685         (WebCore::DocumentMarker::clearDetails):
2686         (WebCore::DocumentMarkerDetails::isDescription):
2687         (WebCore::DocumentMarkerDetails::isTextMatch):
2688         (WebCore::DocumentMarkerDetails::isAllowedFor):
2689         * dom/DocumentMarkerController.cpp:
2690         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
2691         * editing/CompositeEditCommand.cpp:
2692         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
2693
2694 2011-08-04  Scott Graham  <scottmg@chromium.org>
2695
2696         Bad interaction between document destruction and unload events
2697         https://bugs.webkit.org/show_bug.cgi?id=64741
2698
2699         Reviewed by Adam Barth.
2700
2701         Three different errors triggered by this test case. The case to
2702         consider is a subdocument with an onunload on an element, that
2703         destroys the parent document during the onunload. One fix was a
2704         lifetime issue fixed by a protecting RefPtr, and another was an
2705         additional cancel of event triggers. The main fix was that during the
2706         transition to commited state, the documentLoader is being replaced by
2707         the provisionalDocumentLoader. But, because during firing events in
2708         the subdocument the parent is destroyed, that subevent caused the
2709         provisionalDocumentLoader to be detached from its frame. By marking
2710         the page as being in committed state before the parent documentLoader
2711         is set, this is avoided.
2712
2713         Test: loader/document-destruction-within-unload.html
2714
2715         * dom/Document.cpp:
2716         (WebCore::Document::implicitOpen):
2717         * loader/FrameLoader.cpp:
2718         (WebCore::FrameLoader::transitionToCommitted):
2719         (WebCore::FrameLoader::detachChildren):
2720
2721 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
2722
2723         Add code to determine whether a Range in inside fixed position content
2724         https://bugs.webkit.org/show_bug.cgi?id=65720
2725
2726         Reviewed by Sam Weinig.
2727
2728         Propagate the 'wasFixed' flag out from various methods that
2729         are used when computing the collection of rects or quads
2730         for a range. Use the flag in Range to computer whether
2731         the Range is entirely within, partially within, or outside
2732         of fixed-position content.
2733
2734         * WebCore.exp.in:
2735         * accessibility/AccessibilityRenderObject.cpp:
2736         (WebCore::AccessibilityRenderObject::boundingBoxRect):
2737         * dom/Range.cpp:
2738         (WebCore::Range::textRects):
2739         (WebCore::Range::textQuads):
2740         * dom/Range.h:
2741         * rendering/RenderBlock.cpp:
2742         (WebCore::RenderBlock::absoluteQuads):
2743         * rendering/RenderBlock.h:
2744         * rendering/RenderBox.cpp:
2745         (WebCore::RenderBox::absoluteQuads):
2746         * rendering/RenderBox.h:
2747         * rendering/RenderInline.cpp:
2748         (WebCore::RenderInline::absoluteQuads):
2749         * rendering/RenderInline.h:
2750         * rendering/RenderObject.h:
2751         (WebCore::RenderObject::absoluteQuads):
2752         * rendering/RenderText.cpp:
2753         (WebCore::RenderText::absoluteRectsForRange):
2754         (WebCore::RenderText::absoluteQuads):
2755         (WebCore::RenderText::absoluteQuadsForRange):
2756         * rendering/RenderText.h:
2757         * rendering/RenderView.cpp:
2758         (WebCore::RenderView::absoluteQuads):
2759         * rendering/RenderView.h:
2760         * rendering/svg/RenderSVGHiddenContainer.cpp:
2761         (WebCore::RenderSVGHiddenContainer::absoluteQuads):
2762         * rendering/svg/RenderSVGHiddenContainer.h:
2763         * rendering/svg/RenderSVGInline.cpp:
2764         (WebCore::RenderSVGInline::absoluteQuads):
2765         * rendering/svg/RenderSVGInline.h:
2766         * rendering/svg/RenderSVGModelObject.cpp:
2767         (WebCore::RenderSVGModelObject::absoluteQuads):
2768         * rendering/svg/RenderSVGModelObject.h:
2769         * rendering/svg/RenderSVGText.cpp:
2770         (WebCore::RenderSVGText::absoluteQuads):
2771         * rendering/svg/RenderSVGText.h:
2772
2773 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
2774
2775         Remove LegacyDefaultOptionalArguments flag from Document.idl
2776         https://bugs.webkit.org/show_bug.cgi?id=65717
2777
2778         Reviewed by Adam Barth.
2779
2780         No new tests, all existing tests pass.
2781
2782         * dom/Document.idl:
2783
2784 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
2785
2786         Fix release build failure with last commit.
2787
2788         * rendering/RenderView.cpp:
2789         (WebCore::RenderView::mapLocalToContainer):
2790
2791 2011-08-04  Simon Fraser  <simon.fraser@apple.com>
2792
2793         Add code to determine whether a Range in inside fixed position content
2794         https://bugs.webkit.org/show_bug.cgi?id=65720
2795
2796         Reviewed by Dan Bernstein.
2797
2798         Add an out param for various coordinate mapping functions
2799         that tells us whether the point or rectangle being
2800         mapped is inside fixed-position content.
2801         
2802         This brings back some of the changes from r89754.
2803         
2804         No behavior changes, so no tests.
2805
2806         * rendering/RenderBox.cpp:
2807         (WebCore::RenderBox::mapLocalToContainer):
2808         * rendering/RenderBox.h:
2809         * rendering/RenderInline.cpp:
2810         (WebCore::RenderInline::mapLocalToContainer):
2811         * rendering/RenderInline.h:
2812         * rendering/RenderObject.cpp:
2813         (WebCore::RenderObject::mapLocalToContainer):
2814         (WebCore::RenderObject::localToContainerQuad):
2815         * rendering/RenderObject.h:
2816         (WebCore::RenderObject::localToAbsoluteQuad):
2817         * rendering/RenderView.cpp:
2818         (WebCore::RenderView::mapLocalToContainer):
2819         * rendering/RenderView.h:
2820         * rendering/svg/RenderSVGForeignObject.cpp:
2821         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
2822         * rendering/svg/RenderSVGForeignObject.h:
2823         * rendering/svg/RenderSVGInline.cpp:
2824         (WebCore::RenderSVGInline::mapLocalToContainer):
2825         * rendering/svg/RenderSVGInline.h:
2826         * rendering/svg/RenderSVGModelObject.cpp:
2827         (WebCore::RenderSVGModelObject::mapLocalToContainer):
2828         * rendering/svg/RenderSVGModelObject.h:
2829         * rendering/svg/RenderSVGRoot.cpp:
2830         (WebCore::RenderSVGRoot::mapLocalToContainer):
2831         * rendering/svg/RenderSVGRoot.h:
2832         * rendering/svg/RenderSVGText.cpp:
2833         (WebCore::RenderSVGText::mapLocalToContainer):
2834         * rendering/svg/RenderSVGText.h:
2835         * rendering/svg/SVGRenderSupport.cpp:
2836         (WebCore::SVGRenderSupport::mapLocalToContainer):
2837         * rendering/svg/SVGRenderSupport.h:
2838
2839 2011-08-04  Mark Pilgrim  <pilgrim@chromium.org>
2840
2841         Remove LegacyDefaultOptionalArguments flag from DOM-related files except Document.idl
2842         https://bugs.webkit.org/show_bug.cgi?id=65715
2843
2844         Reviewed by Adam Barth.
2845
2846         No new tests, all existing tests pass.
2847
2848         * dom/CharacterData.idl:
2849         * dom/ClientRectList.idl:
2850         * dom/Clipboard.idl:
2851         * dom/DOMImplementation.idl:
2852         * dom/DOMStringList.idl:
2853         * dom/DataTransferItem.idl:
2854         * dom/DataTransferItems.idl:
2855         * dom/DocumentFragment.idl:
2856         * dom/Element.idl:
2857         * dom/EventListener.idl:
2858         * dom/EventTarget.idl:
2859         * dom/MediaStream.idl:
2860         * dom/MediaStreamList.idl:
2861         * dom/MediaStreamTrackList.idl:
2862         * dom/MessagePort.idl:
2863         * dom/NamedNodeMap.idl:
2864         * dom/Node.idl:
2865         * dom/NodeFilter.idl:
2866         * dom/NodeList.idl:
2867         * dom/Range.idl:
2868         * dom/RequestAnimationFrameCallback.idl:
2869         * dom/StringCallback.idl:
2870         * dom/Text.idl:
2871         * dom/TouchList.idl:
2872
2873 2011-08-04  Mark Rowe  <mrowe@apple.com>
2874
2875         Future-proof Xcode configuration settings.
2876
2877         * Configurations/Base.xcconfig:
2878         * Configurations/DebugRelease.xcconfig:
2879         * Configurations/Version.xcconfig:
2880         * Configurations/WebCore.xcconfig:
2881
2882 2011-08-04  Van Lam  <vanlam@google.com>
2883
2884         A few purely stylistic modifications to visible_units.cpp
2885         https://bugs.webkit.org/show_bug.cgi?id=65723
2886
2887         Reviewed by Ryosuke Niwa.
2888
2889         Renamed greatestValueUnder to greatestOffsetUnder, positionIsInsideBox
2890         to positionIsInBoxButNotOnBoundary (to avoid confusion with
2891         positionIsInBox, which is just a getInlineBoxAndOffset check).
2892         Removed use of invalidOffset as an error value in greatestOffsetUnder
2893         and smallestOffsetAbove since semantically it should only be used to
2894         check if it makes sense to compare offsets in a single box.
2895
2896         * editing/visible_units.cpp:
2897         (WebCore::greatestOffsetUnder):
2898         (WebCore::smallestOffsetAbove):
2899         (WebCore::positionIsInBoxButNotOnBoundary):
2900         (WebCore::leftWordPositionAcrossBoundary):
2901         (WebCore::rightWordPositionAcrossBoundary):
2902
2903 2011-08-04  James Robinson  <jamesr@chromium.org>
2904
2905         [chromium] Implement a global resource limit for DrawingBuffer to limit the amount of GPU memory used by 2d canvas backing stores
2906         https://bugs.webkit.org/show_bug.cgi?id=65655
2907
2908         Reviewed by Kenneth Russell.
2909
2910         * platform/graphics/gpu/DrawingBuffer.cpp:
2911         (WebCore::DrawingBuffer::setResourceLimit):
2912         (WebCore::DrawingBuffer::clear):
2913         (WebCore::DrawingBuffer::reset):
2914         * platform/graphics/gpu/DrawingBuffer.h:
2915
2916 2011-08-04  Kenichi Ishibashi  <bashi@chromium.org>
2917
2918         [Chromium] Reduce memory consumption of HarfbuzzFace
2919         https://bugs.webkit.org/show_bug.cgi?id=65688
2920
2921         Adds a cache for HB_FaceRec to eliminate multiple allocation for the same font.
2922
2923         Reviewed by Tony Chang.
2924
2925         No new tests since there is no behavior change.
2926
2927         * platform/graphics/chromium/HarfbuzzSkia.cpp:
2928         (WebCore::getCachedHarfbuzzFace): Added.
2929         (WebCore::releaseCachedHarfbuzzFace): Ditto.
2930         (WebCore::HarfbuzzFace::HarfbuzzFace): Calls getCachedHarfbuzzFace() instead of allocating HB_FaceRec.
2931         (WebCore::HarfbuzzFace::~HarfbuzzFace): Calls releaseCachedHarfbuzzFace() to release the onership of the cache.
2932         * platform/graphics/chromium/HarfbuzzSkia.h:
2933
2934 2011-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2935
2936         Unreviewed, rolling out r92415.
2937         http://trac.webkit.org/changeset/92415
2938         https://bugs.webkit.org/show_bug.cgi?id=65728
2939
2940         Causes many DEBUG crashes (Requested by abarth on #webkit).
2941
2942         * platform/network/chromium/ResourceRequest.h:
2943         * xml/XMLHttpRequest.cpp:
2944         (WebCore::XMLHttpRequest::createRequest):
2945
2946 2011-08-04  Tim Horton  <timothy_horton@apple.com>
2947
2948         Reviewed by Nikolas Zimmerman.
2949
2950         Errors encountered within SVG documents should be reported to the console
2951         https://bugs.webkit.org/show_bug.cgi?id=62599
2952         <rdar://problem/9727074>
2953
2954         Make use of SVGLength::construct when parsing Length attributes; we will
2955         now propagate errors which occur while parsing SVGLength attributes to the
2956         Web Inspector console.
2957
2958         * svg/SVGCircleElement.cpp:
2959         (WebCore::SVGCircleElement::parseMappedAttribute):
2960         * svg/SVGCursorElement.cpp:
2961         (WebCore::SVGCursorElement::parseMappedAttribute):
2962         * svg/SVGEllipseElement.cpp:
2963         (WebCore::SVGEllipseElement::parseMappedAttribute):
2964         * svg/SVGFilterElement.cpp:
2965         (WebCore::SVGFilterElement::parseMappedAttribute):
2966         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2967         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
2968         * svg/SVGForeignObjectElement.cpp:
2969         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
2970         * svg/SVGImageElement.cpp:
2971         (WebCore::SVGImageElement::parseMappedAttribute):
2972         * svg/SVGLineElement.cpp:
2973         (WebCore::SVGLineElement::parseMappedAttribute):
2974         * svg/SVGLinearGradientElement.cpp:
2975         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
2976         * svg/SVGMarkerElement.cpp:
2977         (WebCore::SVGMarkerElement::parseMappedAttribute):
2978         * svg/SVGMaskElement.cpp:
2979         (WebCore::SVGMaskElement::parseMappedAttribute):
2980         * svg/SVGPatternElement.cpp:
2981         (WebCore::SVGPatternElement::parseMappedAttribute):
2982         * svg/SVGRadialGradientElement.cpp:
2983         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
2984         * svg/SVGRectElement.cpp:
2985         (WebCore::SVGRectElement::parseMappedAttribute):
2986         * svg/SVGSVGElement.cpp:
2987         (WebCore::SVGSVGElement::parseMappedAttribute):
2988         * svg/SVGTextContentElement.cpp:
2989         (WebCore::SVGTextContentElement::parseMappedAttribute):
2990         * svg/SVGTextPathElement.cpp:
2991         (WebCore::SVGTextPathElement::parseMappedAttribute):
2992         * svg/SVGUseElement.cpp:
2993         (WebCore::SVGUseElement::parseMappedAttribute):
2994
2995 2011-08-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2996
2997         Unreviewed, rolling out r92419.
2998         http://trac.webkit.org/changeset/92419
2999         https://bugs.webkit.org/show_bug.cgi?id=65726
3000
3001         "committed partially to branch" (Requested by thorton on
3002         #webkit).
3003
3004         * svg/SVGCircleElement.cpp:
3005         (WebCore::SVGCircleElement::parseMappedAttribute):
3006         * svg/SVGCursorElement.cpp:
3007         (WebCore::SVGCursorElement::parseMappedAttribute):
3008         * svg/SVGEllipseElement.cpp:
3009         (WebCore::SVGEllipseElement::parseMappedAttribute):
3010         * svg/SVGFilterElement.cpp:
3011         (WebCore::SVGFilterElement::parseMappedAttribute):
3012         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3013         (WebCore::SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
3014         * svg/SVGForeignObjectElement.cpp:
3015         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
3016         * svg/SVGImageElement.cpp:
3017         (WebCore::SVGImageElement::parseMappedAttribute):
3018         * svg/SVGLineElement.cpp:
3019         (WebCore::SVGLineElement::parseMappedAttribute):
3020         * svg/SVGLinearGradientElement.cpp:
3021         (WebCore::SVGLinearGradientElement::parseMappedAttribute):
3022         * svg/SVGMarkerElement.cpp:
3023         (WebCore::SVGMarkerElement::parseMappedAttribute):
3024         * svg/SVGMaskElement.cpp:
3025         (WebCore::SVGMaskElement::parseMappedAttribute):
3026         * svg/SVGPatternElement.cpp:
3027         (WebCore::SVGPatternElement::parseMappedAttribute):
3028         * svg/SVGRadialGradientElement.cpp:
3029         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
3030         * svg/SVGRectElement.cpp:
3031         (WebCore::SVGRectElement::parseMappedAttribute):
3032         * svg/SVGSVGElement.cpp:
3033         (WebCore::SVGSVGElement::parseMappedAttribute):
3034         * svg/SVGTextContentElement.cpp:
3035         (WebCore::SVGTextContentElement::parseMappedAttribute):
3036         * svg/SVGTextPathElement.cpp:
3037         (WebCore::SVGTextPathElement::parseMappedAttribute):
3038         * svg/SVGUseElement.cpp:
3039         (WebCore::SVGUseElement::parseMappedAttribute):
3040
3041 2011-08-04  Fady Samuel  <fsamuel@chromium.org>
3042
3043         Background Does Not Scale Correctly with Page
3044         https://bugs.webkit.org/show_bug.cgi?id=65690
3045
3046         Reviewed by Simon Fraser.
3047
3048         Test: fast/repaint/background-scaling.html
3049
3050         * rendering/RenderBox.cpp:
3051         (WebCore::RenderBox::paintRootBoxFillLayers):
3052         * rendering/RenderView.cpp:
3053         (WebCore::RenderView::unscaledDocumentRect):
3054         (WebCore::RenderView::documentRect):
3055         * rendering/RenderView.h:
3056
3057 2011-08-04  Jochen Eisinger  <jochen@chromium.org>
3058
3059         Introduce a new ResourceRequest::TargetType for XHRs
3060         https://bugs.webkit.org/show_bug.cgi?id=65544
3061
3062         Reviewed by Darin Fisher.
3063
3064         * platform/network/chromium/ResourceRequest.h:
3065         * xml/XMLHttpRequest.cpp:
3066         (WebCore::XMLHttpRequest::createRequest):
3067
3068 2011-08-04  Sergey Glazunov  <serg.glazunov@gmail.com>
3069
3070         Fix integer overflow in custom bindings for WebGLRenderingContext
3071         https://bugs.webkit.org/show_bug.cgi?id=65646
3072
3073         Reviewed by Kenneth Russell.
3074
3075         Test: fast/canvas/webgl/uniform-array-length-overflow.html
3076
3077         * bindings/js/JSWebGLRenderingContextCustom.cpp:
3078         (WebCore::toVector): Don't crash if allocation fails.
3079         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3080         (WebCore::jsArrayToFloatArray):
3081         (WebCore::jsArrayToIntArray):
3082
3083 2011-08-04  Pratik Solanki  <psolanki@apple.com>
3084
3085         Implement CERTIFICATE_CREDENTIALS_SUPPORTED for CFNetwork
3086         https://bugs.webkit.org/show_bug.cgi?id=65704
3087         <rdar://problem/9877734>
3088
3089         Reviewed by Oliver Hunt.
3090
3091         Implement support for client side certificate authentication in the CFNetwork based loader.
3092
3093         * platform/network/cf/AuthenticationCF.cpp:
3094         (WebCore::createCF):
3095         (WebCore::core): Also fix leak of password string.
3096
3097 2011-08-04  Chris Rogers  <crogers@google.com>
3098
3099         Make sure that AudioArray is 16-byte aligned
3100         https://bugs.webkit.org/show_bug.cgi?id=65651
3101
3102         Reviewed by Kenneth Russell.
3103
3104         No new tests - this does not change JavaScript API.
3105
3106         * platform/audio/AudioArray.h:
3107         (WebCore::AudioArray::AudioArray):
3108         (WebCore::AudioArray::~AudioArray):
3109         (WebCore::AudioArray::allocate):
3110         (WebCore::AudioArray::data):
3111         (WebCore::AudioArray::size):
3112         (WebCore::AudioArray::at):
3113         (WebCore::AudioArray::operator[]):
3114         (WebCore::AudioArray::alignedAddress):
3115         * platform/audio/Biquad.cpp:
3116         (WebCore::Biquad::Biquad):
3117         * platform/audio/ReverbConvolverStage.cpp:
3118         (WebCore::ReverbConvolverStage::ReverbConvolverStage):
3119         * webaudio/DelayDSPKernel.cpp:
3120         (WebCore::DelayDSPKernel::DelayDSPKernel):
3121         * webaudio/RealtimeAnalyser.cpp:
3122         (WebCore::RealtimeAnalyser::setFftSize):
3123
3124 2011-08-04  Brady Eidson  <beidson@apple.com>
3125
3126         <rdar://problem/9882581>, <rdar://problem/9868015>, and https://bugs.webkit.org/show_bug.cgi?id=65712
3127         REGRESSION (91931) - Two LocalStorage threads started, thread unsafe operations can cause crash or other problems later.
3128
3129         Reviewed by Darin Adler.
3130
3131         * storage/StorageTracker.cpp:
3132         (WebCore::StorageTracker::internalInitialize): Set the "needs initialization" flag before doing a 
3133           whole bunch of stuff that might need to check it.
3134
3135 2011-08-04  Jeff Miller  <jeffm@apple.com>
3136
3137         Adopt AVCF media back end on Windows
3138         https://bugs.webkit.org/show_bug.cgi?id=65400
3139         <rdar://problem/9894105>
3140         
3141         First cut at implementation in MediaPlayerPrivateAVFoundationCF.cpp/.h, based on
3142         work by Eric Carlson. Note that use of AVFoundation is determined at runtime, and
3143         defaults to off.
3144
3145         Reviewed by Darin Adler.
3146
3147         No new tests, uses existing media tests.
3148
3149         * config.h: Turn on WTF_USE_AVFOUNDATION on Windows if AVFoundationCF is available.
3150         
3151         * platform/graphics/MediaPlayer.cpp:
3152         (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationCF on Windows.
3153         * platform/graphics/MediaPlayer.h: Add support for an AVCFPlayer.
3154         
3155         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3156         (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Workaround an AVCF limitation that prevents an AVCFPlayer from being created without an AVCFItem.
3157         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Added support for ContentsNeedsDisplay notification.
3158         
3159         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3160         (WebCore::MediaPlayerPrivateAVFoundation::contentsNeedsDisplay): Added support for ContentsNeedsDisplay notification.
3161         
3162         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.cpp: Added implementation.
3163         (WebCore::AVFWrapper::caVideoLayer):
3164         (WebCore::AVFWrapper::videoLayerWrapper):
3165         (WebCore::AVFWrapper::videoLayer):
3166         (WebCore::AVFWrapper::avPlayer):
3167         (WebCore::AVFWrapper::avAsset):
3168         (WebCore::AVFWrapper::avPlayerItem):
3169         (WebCore::AVFWrapper::timeObserver):
3170         (WebCore::AVFWrapper::imageGenerator):
3171         (WebCore::AVFWrapper::dispatchQueue):
3172         (WebCore::LayerClient::LayerClient):
3173         (WebCore::LayerClient::~LayerClient):
3174         (WebCore::LayerClient::platformCALayerRespondsToLayoutChanges):
3175         (WebCore::LayerClient::platformCALayerAnimationStarted):
3176         (WebCore::LayerClient::platformCALayerContentsOrientation):
3177         (WebCore::LayerClient::platformCALayerPaintContents):
3178         (WebCore::LayerClient::platformCALayerShowDebugBorders):
3179         (WebCore::LayerClient::platformCALayerShowRepaintCounter):
3180         (WebCore::LayerClient::platformCALayerIncrementRepaintCount):
3181         (WebCore::LayerClient::platformCALayerContentsOpaque):
3182         (WebCore::LayerClient::platformCALayerDrawsContent):
3183         (WebCore::LayerClient::platformCALayerLayerDidDisplay):
3184         (WebCore::boolString):
3185         (WebCore::metadataKeyNames):
3186         (WebCore::CMTimeRangeStartKey):
3187         (WebCore::CMTimeRangeDurationKey):
3188         (WebCore::CACFContextNeedsFlushNotification):
3189         (WebCore::videoLayer):
3190         (WebCore::avPlayer):
3191         (WebCore::avAsset):
3192         (WebCore::avPlayerItem):
3193         (WebCore::imageGenerator):
3194         (WebCore::MediaPlayerPrivateAVFoundationCF::create):
3195         (WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
3196         (WebCore::MediaPlayerPrivateAVFoundationCF::MediaPlayerPrivateAVFoundationCF):
3197         (WebCore::MediaPlayerPrivateAVFoundationCF::~MediaPlayerPrivateAVFoundationCF):
3198         (WebCore::MediaPlayerPrivateAVFoundationCF::cancelLoad):
3199         (WebCore::MediaPlayerPrivateAVFoundationCF::hasLayerRenderer):
3200         (WebCore::MediaPlayerPrivateAVFoundationCF::hasContextRenderer):
3201         (WebCore::MediaPlayerPrivateAVFoundationCF::createContextVideoRenderer):
3202         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyContextVideoRenderer):
3203         (WebCore::MediaPlayerPrivateAVFoundationCF::createVideoLayer):
3204         (WebCore::MediaPlayerPrivateAVFoundationCF::destroyVideoLayer):
3205         (WebCore::MediaPlayerPrivateAVFoundationCF::hasAvailableVideoFrame):
3206         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayer):
3207         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVPlayerItem):
3208         (WebCore::MediaPlayerPrivateAVFoundationCF::createAVAssetForURL):
3209         (WebCore::MediaPlayerPrivateAVFoundationCF::checkPlayability):
3210         (WebCore::MediaPlayerPrivateAVFoundationCF::beginLoadingMetadata):
3211         (WebCore::MediaPlayerPrivateAVFoundationCF::playerItemStatus):
3212         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMedia):
3213         (WebCore::MediaPlayerPrivateAVFoundationCF::platformLayer):
3214         (WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible):
3215         (WebCore::MediaPlayerPrivateAVFoundationCF::platformPlay):
3216         (WebCore::MediaPlayerPrivateAVFoundationCF::platformPause):
3217         (WebCore::MediaPlayerPrivateAVFoundationCF::updateRate):
3218         (WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
3219         (WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
3220         (WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
3221         (WebCore::MediaPlayerPrivateAVFoundationCF::setVolume):
3222         (WebCore::MediaPlayerPrivateAVFoundationCF::setClosedCaptionsVisible):
3223         (WebCore::MediaPlayerPrivateAVFoundationCF::rate):
3224         (WebCore::timeRangeIsValidAndNotEmpty):
3225         (WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):
3226         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
3227         (WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
3228         (WebCore::MediaPlayerPrivateAVFoundationCF::totalBytes):
3229         (WebCore::MediaPlayerPrivateAVFoundationCF::assetStatus):
3230         (WebCore::MediaPlayerPrivateAVFoundationCF::paintCurrentFrameInContext):
3231         (WebCore::MediaPlayerPrivateAVFoundationCF::paint):
3232         (WebCore::mimeTypeCache):
3233         (WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes):
3234         (WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):
3235         (WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):
3236         (WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue):
3237         (WebCore::MediaPlayerPrivateAVFoundationCF::tracksChanged):
3238         (WebCore::MediaPlayerPrivateAVFoundationCF::sizeChanged):
3239         (WebCore::MediaPlayerPrivateAVFoundationCF::contentsNeedsDisplay):
3240         (WebCore::AVFWrapper::AVFWrapper):
3241         (WebCore::AVFWrapper::~AVFWrapper):
3242         (WebCore::AVFWrapper::scheduleDisconnectAndDelete):
3243         (WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper):
3244         (WebCore::AVFWrapper::deleteAVFWrapper):
3245         (WebCore::AVFWrapper::createAssetForURL):
3246         (WebCore::AVFWrapper::createPlayer):
3247         (WebCore::AVFWrapper::createPlayerItem):
3248         (WebCore::AVFWrapper::periodicTimeObserverCallback):
3249         (WebCore::AVFWrapper::notificationCallback):
3250         (WebCore::AVFWrapper::loadPlayableCompletionCallback):
3251         (WebCore::AVFWrapper::checkPlayability):
3252         (WebCore::AVFWrapper::loadMetadataCompletionCallback):
3253         (WebCore::AVFWrapper::beginLoadingMetadata):
3254         (WebCore::AVFWrapper::seekCompletedCallback):
3255         (WebCore::AVFWrapper::seekToTime):
3256         (WebCore::AVFWrapper::setAsset):
3257         (WebCore::AVFWrapper::platformLayer):
3258         (WebCore::AVFWrapper::createAVCFVideoLayer):
3259         (WebCore::AVFWrapper::destroyVideoLayer):
3260         (WebCore::AVFWrapper::setVideoLayerNeedsCommit):
3261         (WebCore::AVFWrapper::setVideoLayerHidden):
3262         (WebCore::AVFWrapper::createImageGenerator):
3263         (WebCore::AVFWrapper::destroyImageGenerator):
3264         (WebCore::AVFWrapper::createImageForTimeInRect):
3265         (WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer):
3266
3267         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationCF.h: Added implementation.
3268
3269 2011-08-04  Jochen Eisinger  <jochen@chromium.org>
3270
3271         Get rid of ResourceRequestBase::m_targetType. Move it to chromium's ResourceRequest.
3272         https://bugs.webkit.org/show_bug.cgi?id=48483
3273
3274         Reviewed by Alexey Proskuryakov.
3275
3276         * loader/PingLoader.cpp:
3277         (WebCore::PingLoader::loadImage):
3278         (WebCore::PingLoader::sendPing):
3279         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
3280         * loader/cache/CachedResourceRequest.cpp:
3281         (WebCore::CachedResourceRequest::load):
3282         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3283         (webKitWebSrcStart):
3284         * platform/network/ResourceRequestBase.cpp:
3285         (WebCore::ResourceRequestBase::adopt):
3286         (WebCore::ResourceRequestBase::copyData):
3287         * platform/network/ResourceRequestBase.h:
3288         (WebCore::ResourceRequestBase::ResourceRequestBase):
3289         * platform/network/chromium/ResourceRequest.cpp:
3290         (WebCore::ResourceRequest::doPlatformCopyData):
3291         (WebCore::ResourceRequest::doPlatformAdopt):
3292         * platform/network/chromium/ResourceRequest.h:
3293         (WebCore::ResourceRequest::ResourceRequest):
3294         (WebCore::ResourceRequest::targetType):
3295         (WebCore::ResourceRequest::setTargetType):
3296         * workers/DefaultSharedWorkerRepository.cpp:
3297         (WebCore::SharedWorkerScriptLoader::load):
3298         * workers/Worker.cpp:
3299         (WebCore::Worker::create):
3300         * workers/WorkerContext.cpp:
3301         (WebCore::WorkerContext::importScripts):
3302         * workers/WorkerScriptLoader.cpp:
3303         (WebCore::WorkerScriptLoader::WorkerScriptLoader):
3304         (WebCore::WorkerScriptLoader::createResourceRequest):
3305         * workers/WorkerScriptLoader.h:
3306         (WebCore::WorkerScriptLoader::create):
3307         (WebCore::WorkerScriptLoader::setTargetType):
3308
3309 2011-08-04  Jeff Miller  <jeffm@apple.com>
3310
3311         Fix WinCE build after r92308.
3312
3313         * config.h: Don't try to include WebCoreHeaderDetection.h for WinCE.
3314
3315 2011-08-04  Darin Fisher  <darin@chromium.org>
3316
3317         webkitRequestAnimationFrame's element argument needs to be marked optional
3318         https://bugs.webkit.org/show_bug.cgi?id=65698
3319
3320         Reviewed by James Robinson.
3321
3322         * page/DOMWindow.idl:
3323
3324 2011-08-04  Adam Roben  <aroben@apple.com>
3325
3326         Delete some unused code from platform/graphics/win
3327
3328         MediaPlayerPrivateQuickTimeWin has been unused since r72117, and the GraphicsLayer-related
3329         classes have been unused since r75262.
3330
3331         Fixes <http://webkit.org/b/65689> platform/graphics/win has a bunch of unused code
3332
3333         Reviewed by Eric Carlson.
3334
3335         * WebCore.gypi:
3336         * WebCore.vcproj/WebCore.vcproj:
3337         Removed now-deleted files.
3338
3339         * platform/graphics/win/GraphicsLayerCACF.cpp: Removed.
3340         * platform/graphics/win/GraphicsLayerCACF.h: Removed.
3341         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: Removed.
3342         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: Removed.
3343         * platform/graphics/win/WebLayer.cpp: Removed.
3344         * platform/graphics/win/WebLayer.h: Removed.
3345         * platform/graphics/win/WebTiledLayer.cpp: Removed.
3346         * platform/graphics/win/WebTiledLayer.h: Removed.
3347
3348 2011-08-03  Adam Roben  <aroben@apple.com>
3349
3350         Detect and handle overflow in PlatformCALayerWinInternal::constrainedSize
3351
3352         Google Maps sometimes requests very large (i.e., 2^50 pixels or greater) layers when
3353         zooming. PlatformCALayerWinInternal has code to limit tiled layers to 2^27 pixels, but it
3354         was not correctly handling overflow. In some cases, this would lead to creating a tiled
3355         layer with 0 tiles, which was the cause of this crash.
3356
3357         Fixes <http://webkit.org/b/65637> <rdar://problem/9784849> Crash beneath
3358         PlatformCALayerWinInternal::updateTiles when zooming on Google Maps
3359
3360         Reviewed by Sam Weinig.
3361
3362         Test: compositing/tiling/crash-huge-layer.html
3363
3364         * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
3365         (PlatformCALayerWinInternal::constrainedSize): Check for overflow before seeing if the
3366         number of required tiles is larger than the maximum number of allowed tiles.
3367         (PlatformCALayerWinInternal::updateTiles): Added an assertion to catch cases where we have a
3368         non-empty tiled layer that contains 0 tiles, which would cause the crash in this bug report.
3369
3370 2011-08-04  Stephen White  <senorblanco@chromium.org>
3371
3372         Set graphics context current before canvas.toDataURL().
3373         https://bugs.webkit.org/show_bug.cgi?id=65700
3374
3375         Reviewed by James Robinson.
3376
3377         No new tests, unfortunately.  The test infrastucture doesn't seem
3378         to be conducive to writing multiple-context tests.
3379
3380         * platform/graphics/skia/ImageBufferSkia.cpp:
3381         (WebCore::ImageBuffer::toDataURL):
3382
3383 2011-08-01  Brian Weinstein  <bweinstein@apple.com>
3384
3385         WebKit2: Web Inspector always starts in undocked mode
3386         https://bugs.webkit.org/show_bug.cgi?id=65493
3387         <rdar://problem/9353114>
3388         
3389         Reviewed by Adam Roben.
3390         
3391         Expose some methods on InspectorFrontendClient through the InspectorController so WebKit2
3392         can request the inspector be docked, or ask whether or not it can be docked.
3393
3394         * WebCore.exp.in: Export needed methods.
3395         * inspector/InspectorController.cpp:
3396         (WebCore::InspectorController::requestAttachWindow): Call through to InspectorFrontendClient.
3397         (WebCore::InspectorController::canAttachWindow): Ditto.
3398         * inspector/InspectorController.h:
3399         * inspector/InspectorFrontendClient.h:
3400         * inspector/InspectorFrontendClientLocal.h:
3401
3402 2011-08-04  Luke Macpherson   <macpherson@chromium.org>
3403
3404         Support cast between CSSPrimitiveValue and EborderFit, use in CSSStyleSelector.
3405         https://bugs.webkit.org/show_bug.cgi?id=65665
3406
3407         Reviewed by Simon Fraser.
3408
3409         No new tests / refactoring only.
3410
3411         * css/CSSPrimitiveValueMappings.h:
3412         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3413         Support cast from EBorderFit.
3414         (WebCore::CSSPrimitiveValue::operator EBorderFit):
3415         Support cast to EBorderFit.
3416         * css/CSSStyleSelector.cpp:
3417         (WebCore::CSSStyleSelector::applyProperty):
3418         Use new cast to allow use of appropriate macro.
3419
3420 2011-08-04  Pavel Feldman  <pfeldman@google.com>
3421
3422         Web Inspector: rename sendResultByValue to returnByValue in Runtime agent.
3423         https://bugs.webkit.org/show_bug.cgi?id=65687
3424
3425         Reviewed by Yury Semikhatsky.
3426
3427         * inspector/InjectedScript.cpp:
3428         (WebCore::InjectedScript::evaluate):
3429         (WebCore::InjectedScript::callFunctionOn):
3430         * inspector/InjectedScript.h:
3431         * inspector/InjectedScriptSource.js:
3432         * inspector/Inspector.json:
3433         * inspector/InspectorRuntimeAgent.cpp:
3434         (WebCore::InspectorRuntimeAgent::evaluate):
3435         (WebCore::InspectorRuntimeAgent::callFunctionOn):
3436         * inspector/InspectorRuntimeAgent.h:
3437
3438 2011-08-04  Matt Falkenhagen  <falken@chromium.org>
3439
3440         Use -webkit-locale for font selection.
3441         https://bugs.webkit.org/show_bug.cgi?id=10874
3442
3443         Reviewed by Dan Bernstein.
3444
3445         Infer a script from -webkit-locale to use to choose a font for generic
3446         font families and the default unstyled font.  The font is retrieved
3447         from per-script font settings (see bug 20797).  Since these settings
3448         have not changed there should be no visible effect yet.
3449
3450         * CMakeLists.txt:
3451         * GNUmakefile.list.am:
3452         * WebCore.gyp/WebCore.gyp:
3453         * WebCore.gypi:
3454         * WebCore.pro:
3455         * WebCore.vcproj/WebCore.vcproj:
3456         * WebCore.xcodeproj/project.pbxproj:
3457         * css/CSSFontSelector.cpp: Use script when getting font from Settings
3458         (WebCore::fontDataForGenericFamily):
3459         (WebCore::CSSFontSelector::getFontData):
3460         * css/CSSPropertyNames.in: Increase priority of -webkit-locale since it affects font
3461         * css/CSSStyleSelector.cpp:
3462         (WebCore::CSSStyleSelector::styleForDocument):
3463         (WebCore::CSSStyleSelector::applyDeclarations):
3464         (WebCore::CSSStyleSelector::applyProperty): Set script in font based on -webkit-locale
3465         * page/Settings.cpp:
3466         (WebCore::getGenericFontFamilyForScript): Fallback to USCRIPT_COMMON
3467         * platform/graphics/FontDescription.h: Add m_script
3468         (WebCore::FontDescription::FontDescription):
3469         (WebCore::FontDescription::script):
3470         (WebCore::FontDescription::setScript):
3471         (WebCore::FontDescription::operator==):
3472         * platform/text/LocaleToScriptMapping.h: Added.
3473         * platform/text/LocaleToScriptMappingDefault.cpp: Added.
3474         (WebCore::localeToScriptCodeForFontSelection):
3475         (WebCore::LocaleScript::if):
3476         (WebCore::LocaleScript::while):
3477         * platform/text/LocaleToScriptMappingICU.cpp: Added.
3478         (WebCore::scriptCodeForFontSelection):
3479         (WebCore::localeToScriptCodeForFontSelection):
3480
3481 2011-08-04  Vsevolod Vlasov  <vsevik@chromium.org>