WebSocket: Introduce pywebsocket-0.6b2
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-07-14  Yuta Kitamura  <yutak@chromium.org>
2
3         WebSocket: Introduce pywebsocket-0.6b2
4         https://bugs.webkit.org/show_bug.cgi?id=64534
5
6         Reviewed by Kent Tamura.
7
8         pywebsocket now accepts "Sec-WebSocket-Version: 8" as required in hybi-10 specification.
9
10         No new functionality is added, thus no new tests. Existing WebSocket tests should keep passing.
11
12         * websockets/WebSocketHandshake.cpp:
13         (WebCore::WebSocketHandshake::clientHandshakeMessage):
14         (WebCore::WebSocketHandshake::clientHandshakeRequest):
15
16 2011-07-14  SravanKumar S  <sravan.ken@gmail.com>
17
18         Replaced isChecked() with shouldAppearChecked() in HTMLInputElement.cpp along with all the corresponding function calls.
19         https://bugs.webkit.org/show_bug.cgi?id=54476
20
21         Reviewed by Darin Adler.
22
23         No new tests, since existing fast/dom/HTMLInputElement/checked-pseudo-selector.html verifies the patch.
24
25         * accessibility/AccessibilityRenderObject.cpp:
26         (WebCore::AccessibilityRenderObject::isChecked):
27         * css/CSSStyleSelector.cpp:
28         (WebCore::CSSStyleSelector::canShareStyleWithControl):
29         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
30         * dom/CheckedRadioButtons.cpp:
31         (WebCore::CheckedRadioButtons::removeButton):
32         * html/HTMLInputElement.cpp:
33         (WebCore::HTMLInputElement::shouldAppearChecked):
34         * html/HTMLInputElement.h: Removed virtual declaration from shouldAppearChecked().
35         * rendering/RenderTheme.cpp:
36         (WebCore::RenderTheme::isChecked):
37
38 2011-07-14  Kenichi Ishibashi  <bashi@chromium.org>
39
40         <input form="x"> should not associate the input with any forms when there is no  form with id="x"
41         https://bugs.webkit.org/show_bug.cgi?id=64509
42
43         Don't set form owner when a form associated element has the form attribute but there is no such form element.
44
45         Reviewed by Kent Tamura.
46
47         Test: fast/forms/form-attribute-nonexistence-form-id.html
48
49         * dom/Document.cpp:
50         (WebCore::Document::resetFormElementsOwner): Removed the argument which is no longer needed.
51         * dom/Document.h: Ditto.
52         * html/FormAssociatedElement.cpp:
53         (WebCore::FormAssociatedElement::insertedIntoTree): Resets m_form whenever the element has the form attribute.
54         (WebCore::FormAssociatedElement::resetFormOwner): Don't set m_form when there is no form element which has the given id.
55         (WebCore::FormAssociatedElement::formAttributeChanged): Removed the argument of resetFormOwner().
56         * html/FormAssociatedElement.h: Ditto.
57         * html/HTMLFormElement.cpp: Ditto.
58         (WebCore::HTMLFormElement::insertedIntoDocument):
59         (WebCore::HTMLFormElement::removedFromDocument):
60
61 2011-07-14  Kent Tamura  <tkent@chromium.org>
62
63         REGRESSION (r90809): Setting a checkbox's checked property, doesn't render as checked until app window loses focus
64         https://bugs.webkit.org/show_bug.cgi?id=64537
65
66         Reviewed by Darin Adler.
67
68         We stopped to call updateCheckedRadioButtons() for checkboxes
69         since r90809, but we need to call RenderTheme::stateChanged(),
70         which was in updateCheckedRadioButtons(), for checkboxes.
71
72         Tests: fast/forms/checkbox-appearance-change-by-checked-expected.html
73                fast/forms/checkbox-appearance-change-by-checked.html
74
75         * html/HTMLInputElement.cpp: Move the RenderTheme::stateChanged() call
76         from updateCheckedRadioButtons() to setChecked().
77         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
78         (WebCore::HTMLInputElement::setChecked):
79
80 2011-07-14  Adam Barth  <abarth@webkit.org>
81
82         The beforeload event allows tracking URI changes in a frame
83         https://bugs.webkit.org/show_bug.cgi?id=64482
84
85         Reviewed by Nate Chapin.
86
87         Tests: http/tests/security/beforeload-iframe-client-redirect.html
88                http/tests/security/beforeload-iframe-server-redirect.html
89
90         Only dispatch the beforeload event for a frame if we haven't yet
91         committed our first real load.  The URL that we send to our parent will
92         be the same URL the parent seens in the src attribute.
93
94         * loader/FrameLoader.cpp:
95         (WebCore::FrameLoader::loadWithDocumentLoader):
96
97 2011-07-14  Dan Bernstein  <mitz@apple.com>
98
99         LLVM Compiler build fix.
100
101         * css/CSSStyleApplyProperty.cpp:
102         (WebCore::ApplyPropertyComputeLength::applyValue):
103
104 2011-07-14  Darin Adler  <darin@apple.com>
105
106         [Mac] Use [NSCursor operationNotAllowedCursor] for CSS no-drop as well as CSS not-allowed
107         https://bugs.webkit.org/show_bug.cgi?id=64570
108
109         Reviewed by Alexey Proskuryakov.
110
111         Mac OS X documentation and usage makes it clear that this cursor is usually used for no-drop,
112         and that it's also reasonable to use it for not-allowed.
113
114         * platform/mac/CursorMac.mm:
115         (WebCore::Cursor::ensurePlatformCursor): Use [NSCursor operationNotAllowedCursor] for
116         Cursor::NoDrop.
117
118 2011-07-14  Luke Macpherson   <macpherson@chromium.org>
119
120         Reviewed by Dimitri Glazkov.
121
122         Introduce templated compute length class in CSSStyleApplyProperty, and use to handle several CSS properties.
123         https://bugs.webkit.org/show_bug.cgi?id=62957
124
125         No new tests / refactoring only.
126
127         * css/CSSPrimitiveValue.cpp:
128         (WebCore::CSSPrimitiveValue::computeLength):
129         Add computeLength function that returns unsigned short.
130         * css/CSSStyleApplyProperty.cpp:
131         (WebCore::ApplyPropertyComputeLength::ApplyPropertyComputeLength):
132         Added class to handle computeLength based properties.
133         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
134         Initialize ApplyPropertyComputeLength for appropriate properties.
135         * css/CSSStyleSelector.cpp:
136         (WebCore::CSSStyleSelector::useSVGZoomRules):
137         Make this a public member function instead of a private static function.
138         (WebCore::CSSStyleSelector::applyProperty):
139         Removed code now implemented in CSSStyleApplyProperty.
140         (WebCore::CSSStyleSelector::setFontSize):
141         Use new useSVGZoomRules function.
142         * css/CSSStyleSelector.h:
143         Add interface for useSVGZoomRules.
144
145 2011-07-14  Antti Koivisto  <antti@apple.com>
146
147         REGRESSION: Should not dispatch didFirstVisuallyNonEmptyLayout for the initial empty document
148         https://bugs.webkit.org/show_bug.cgi?id=64557
149
150         Reviewed by Kenneth Rohde Christiansen.
151
152         Avoid sending didFirstVisuallyNonEmptyLayout for the initial empty document of the frame. The
153         clients may not expect it and it doesn't make much sense in any case.
154
155         * page/FrameView.cpp:
156         (WebCore::FrameView::performPostLayoutTasks):
157
158 2011-07-14  Jeffrey Pfau  <jpfau@apple.com>
159
160         Character reference parser for new XML parser
161         https://bugs.webkit.org/show_bug.cgi?id=64398
162
163         Reviewed by Adam Barth.
164
165         Refactored out the HTML entity parser and added a common template for parsing character references.
166
167         * WebCore.xcodeproj/project.pbxproj:
168         * html/parser/HTMLEntityParser.cpp:
169         (WebCore::consumeHTMLEntity):
170         * xml/parser/CharacterReferenceParserInlineMethods.h: Copied from Source/WebCore/html/parser/HTMLEntityParser.cpp.
171         (WebCore::isHexDigit):
172         (WebCore::unconsumeCharacters):
173         (WebCore::consumeCharacterReference):
174         * xml/parser/XMLCharacterReferenceParser.cpp: Added.
175         (WebCore::consumeXMLCharacterReference):
176         * xml/parser/XMLCharacterReferenceParser.h: Added.
177
178 2011-07-14  Ilya Tikhonovsky  <loislo@chromium.org>
179
180         Reviewed by Pavel Feldman.
181
182         Web Inspector: panel switching is too slow.
183         https://bugs.webkit.org/show_bug.cgi?id=60959
184
185         * inspector/front-end/inspector.css:
186         (.panel):
187         (.panel.visible):
188
189 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
190
191         Web Inspector: remove more unused CSS from inspector.css
192         https://bugs.webkit.org/show_bug.cgi?id=64529
193
194         Reviewed by Pavel Feldman.
195
196         * inspector/front-end/inspector.css:
197
198 2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>
199
200         Move subtreeHasChanged from RenderTextControl to HTMLTextFormControlElement
201         https://bugs.webkit.org/show_bug.cgi?id=64476
202
203         Reviewed by Kent Tamura.
204
205         Moved subtreeHasChanged from RenderTextControl, RenderTextControlSingleLine, and
206         RenderTextControlMultiLine to HTMLTextFormControlElement, HTMLInputElement, and
207         HTMLTextAreaElement. Also moved m_searchEventTimer and related functions from
208         RenderTextSingleLine to SearchInputType.
209
210         * html/HTMLInputElement.cpp:
211         (WebCore::HTMLInputElement::subtreeHasChanged): Moved from RenderTextControlSingleLine.
212         (WebCore::HTMLInputElement::onSearch): Calls stopSearchEventTimer.
213         * html/HTMLInputElement.h:
214         * html/HTMLTextAreaElement.cpp:
215         (WebCore::HTMLTextAreaElement::subtreeHasChanged): Moved from RenderTextMultiLine.
216         * html/HTMLTextAreaElement.h:
217         * html/HTMLTextFormControlElement.cpp:
218         (WebCore::HTMLTextFormControlElement::defaultEventHandler): Calls subtreeHasChanged.
219         (WebCore::HTMLTextFormControlElement::subtreeHasChanged): Added; calls respondToChangeByUser.
220         * html/HTMLTextFormControlElement.h:
221         * html/SearchInputType.cpp:
222         (WebCore::SearchInputType::SearchInputType): Initializes m_searchEventTimer.
223         (WebCore::SearchInputType::startSearchEventTimer): Moved from RenderTextControlSingleLine.
224         (WebCore::SearchInputType::stopSearchEventTimer): Ditto.
225         (WebCore::SearchInputType::searchEventTimerFired): Ditto.
226         * html/SearchInputType.h:
227         * html/TextFieldInputType.cpp:
228         (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): Updated comment.
229         * rendering/RenderTextControl.cpp:
230         * rendering/RenderTextControl.h:
231         (WebCore::RenderTextControl::respondToChangeByUser): Renamed from subtreeHasChanged.
232         * rendering/RenderTextControlMultiLine.cpp:
233         * rendering/RenderTextControlMultiLine.h:
234         * rendering/RenderTextControlSingleLine.cpp:
235         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): No longer initializes
236         m_searchEventTimer.
237         * rendering/RenderTextControlSingleLine.h:
238
239 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
240
241         Move XML errors handling out from XMLDocumentParser (refactoring).
242         https://bugs.webkit.org/show_bug.cgi?id=64305
243
244         XML errors handling logic is moved out from XMLDocumentParser to allow using it for XSLT error handling as well.
245
246         Reviewed by Adam Barth.
247
248         No tests needed as there is no new functionality added.
249
250         * CMakeLists.txt:
251         * GNUmakefile.list.am:
252         * WebCore.gypi:
253         * WebCore.pro:
254         * WebCore.vcproj/WebCore.vcproj:
255         * WebCore.xcodeproj/project.pbxproj:
256         * xml/XMLErrors.cpp: Added.
257         (WebCore::XMLErrors::XMLErrors):
258         (WebCore::XMLErrors::handleError):
259         (WebCore::XMLErrors::appendErrorMessage):
260         (WebCore::createXHTMLParserErrorHeader):
261         (WebCore::XMLErrors::insertErrorMessageBlock):
262         * xml/XMLErrors.h: Added.
263         * xml/parser/XMLDocumentParser.cpp:
264         (WebCore::XMLDocumentParser::pushCurrentNode):
265         (WebCore::XMLDocumentParser::handleError):
266         (WebCore::XMLDocumentParser::insertErrorMessageBlock):
267         * xml/parser/XMLDocumentParser.h:
268         * xml/parser/XMLDocumentParserLibxml2.cpp:
269         (WebCore::PendingCallbacks::appendErrorCallback):
270         (WebCore::XMLDocumentParser::XMLDocumentParser):
271         (WebCore::XMLDocumentParser::doWrite):
272         (WebCore::XMLDocumentParser::error):
273         (WebCore::warningHandler):
274         (WebCore::fatalErrorHandler):
275         (WebCore::normalErrorHandler):
276         * xml/parser/XMLDocumentParserQt.cpp:
277         (WebCore::XMLDocumentParser::XMLDocumentParser):
278         (WebCore::XMLDocumentParser::doWrite):
279         (WebCore::XMLDocumentParser::doEnd):
280         (WebCore::XMLDocumentParser::parse):
281         (WebCore::XMLDocumentParser::parseStartElement):
282         (WebCore::XMLDocumentParser::parseDtd):
283
284 2011-07-14  Vsevolod Vlasov  <vsevik@chromium.org>
285
286         Web Inspector: InspectorResourceAgent should generate unique identifier and save cachedResource for resources from memory cache.
287         https://bugs.webkit.org/show_bug.cgi?id=64356
288
289         Reviewed by Yury Semikhatsky.
290
291         * inspector/Inspector.json:
292         * inspector/InspectorInstrumentation.cpp:
293         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
294         * inspector/InspectorInstrumentation.h:
295         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
296         * inspector/InspectorResourceAgent.cpp:
297         (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
298         * inspector/InspectorResourceAgent.h:
299         * inspector/front-end/NetworkManager.js:
300         (WebInspector.NetworkManager.prototype.requestContent):
301         (WebInspector.NetworkDispatcher):
302         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
303         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
304         * inspector/front-end/NetworkPanel.js:
305         (WebInspector.NetworkLogView.prototype._frameNavigated):
306         * loader/FrameLoader.cpp:
307         (WebCore::FrameLoader::loadedResourceFromMemoryCache):
308         * loader/FrameLoader.h:
309
310 2011-07-14  Tim Horton  <timothy_horton@apple.com>
311
312         Clear SVGElementInstance's children immediately upon detachment
313         https://bugs.webkit.org/show_bug.cgi?id=63739
314         <rdar://problem/9705708>
315
316         Reviewed by Nikolas Zimmermann.
317
318         In addition to clearing the instance's children in the destructor,
319         clear them when the instance is detached from its <use>. This way,
320         we won't attempt to use them after we're detached but before the
321         destructor has been called.
322
323         Test: svg/custom/use-crash-using-children-before-destroy.svg
324
325         * svg/SVGElementInstance.cpp:
326         (WebCore::SVGElementInstance::~SVGElementInstance):
327         (WebCore::SVGElementInstance::clearChildren):
328         * svg/SVGElementInstance.h:
329         * svg/SVGUseElement.cpp:
330         (WebCore::SVGUseElement::detachInstance):
331
332 2011-07-14  Nate Chapin  <japhet@chromium.org>
333
334         Don't skip custom cursors if an Image* is null,
335         since this can lead to a non-custom Cursor flickering 
336         back in when the custom cursor hasn't finished loading yet.
337         https://bugs.webkit.org/show_bug.cgi?id=64321
338
339         Reviewed by Darin Fisher.
340
341         Manual test, since we're testing visual flickering.
342
343         * manual-tests/canvas-cursor.html: Added.
344         * page/EventHandler.cpp:
345         (WebCore::EventHandler::selectCursor):
346         * platform/Cursor.cpp:
347         (WebCore::determineHotSpot):
348
349 2011-07-14  Young Han Lee  <joybro@company100.net>
350
351         Reviewed by Dirk Schulze.
352
353         REGRESSION (r89774): svg/W3C-SVG-1.1/animate-elem-82-t.svg hits assertion failure.
354         https://bugs.webkit.org/show_bug.cgi?id=63911
355
356         Some functions assumed calculateKeyTimesIndex() does not return the last index of
357         the keyTimes, but it would be right behavior for calculateKeyTimesIndex() when it
358         accepts 1 as the percent argument.
359
360         To avoid the assumption, and for more efficiency, this patch allows the functions
361         using calculateKeyTimesIndex() to return early when it accepts 1 as the percent argument.
362         These functions have always returned the last element of the corresponding vector
363         in that situation.
364
365         * svg/SVGAnimationElement.cpp:
366         (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
367         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
368
369 2011-07-14  Andrey Kosyakov  <caseq@chromium.org>
370
371         Web Inspector: remove more dead code
372         https://bugs.webkit.org/show_bug.cgi?id=64524
373
374         Reviewed by Yury Semikhatsky.
375
376         * WebCore.gypi:
377         * inspector/front-end/SummaryBar.js: Removed.
378         * inspector/front-end/WebKit.qrc:
379         * inspector/front-end/inspector.css:
380         * inspector/front-end/inspector.html:
381
382 2011-07-14  Peter Varga  <pvarga@webkit.org>
383
384         [Qt][V8] Build fix after r90830.
385
386         Reviewed by Csaba Osztrogonác.
387
388         The histogramEnumeration() function isn't available from the Qt port's
389         PlatformBridge.h because this function is Chromium specific.
390         Since the http://trac.webkit.org/changeset/90830 change we need to
391         guard the usage of the histogramEnumeration() function.
392
393         No new tests needed.
394
395         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
396         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
397         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
398         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
399
400 2011-07-14  Yury Semikhatsky  <yurys@chromium.org>
401
402         Web Inspector: show only Console and Scripts panels in shared worker inspector front-end
403         https://bugs.webkit.org/show_bug.cgi?id=64519
404
405         Reviewed by Pavel Feldman.
406
407         * inspector/front-end/WorkerManager.js:
408         (WebInspector.WorkerManager):
409         (WebInspector.WorkerManager.isWorkerFrontend):
410         (WebInspector.WorkerManager.isSharedWorkerFrontend):
411         (WebInspector.WorkerManager.prototype._openInspectorWindow):
412         (WebInspector.DedicatedWorkerMessageForwarder):
413
414 2011-07-14  MORITA Hajime  <morrita@google.com>
415
416         Unreviewed, rolling out r90976, r90981, and r90985.
417         http://trac.webkit.org/changeset/90976
418         http://trac.webkit.org/changeset/90981
419         http://trac.webkit.org/changeset/90985
420         https://bugs.webkit.org/show_bug.cgi?id=64251
421
422         build break
423
424         * WebCore.exp.in:
425         * dom/NodeRenderingContext.cpp:
426         (WebCore::NodeRenderingContext::NodeRenderingContext):
427         (WebCore::NodeRenderingContext::nextRenderer):
428         (WebCore::NodeRenderingContext::previousRenderer):
429         * dom/NodeRenderingContext.h:
430         * dom/ShadowContentElement.cpp:
431         (WebCore::ShadowContentElement::attach):
432         (WebCore::ShadowContentElement::detach):
433         * dom/ShadowContentElement.h:
434         * dom/ShadowContentSelector.cpp:
435         (WebCore::ShadowContentSelector::ShadowContentSelector):
436         (WebCore::ShadowContentSelector::selectInclusion):
437         (WebCore::ShadowContentSelector::willAttachContentFor):
438         (WebCore::ShadowContentSelector::didAttachContent):
439         (WebCore::ShadowContentSelector::activeElement):
440         * dom/ShadowContentSelector.h:
441         * dom/ShadowRoot.cpp:
442         (WebCore::ShadowRoot::~ShadowRoot):
443         (WebCore::ShadowRoot::activeContentElement):
444         * dom/ShadowRoot.h:
445         * testing/Internals.cpp:
446         * testing/Internals.h:
447         * testing/Internals.idl:
448
449 2011-07-13  Ryosuke Niwa  <rniwa@webkit.org>
450
451         Move forwardEvent from RenderTextControl to HTMLTextFormControlElement
452         https://bugs.webkit.org/show_bug.cgi?id=64475
453
454         Reviewed by Kent Tamura.
455
456         Moved forwardEvent from RenderTextControl, RenderTextControlSingleLine, and RenderTextControlMultiLine
457         to HTMLTextFormControlElement, HTMLInputElement, and HTMLTextAreaElement.
458
459         This removes the last dependency on Event.h and EventNames.h in the cpp files for the above render
460         objects classes.
461
462         * html/HTMLTextAreaElement.cpp:
463         (WebCore::HTMLTextAreaElement::defaultEventHandler):
464         * html/HTMLTextFormControlElement.cpp:
465         (WebCore::HTMLTextFormControlElement::forwardEvent):
466         * html/HTMLTextFormControlElement.h:
467         * html/TextFieldInputType.cpp:
468         (WebCore::TextFieldInputType::forwardEvent):
469         * rendering/RenderTextControl.cpp:
470         * rendering/RenderTextControl.h:
471         * rendering/RenderTextControlMultiLine.cpp:
472         * rendering/RenderTextControlMultiLine.h:
473         * rendering/RenderTextControlSingleLine.cpp:
474         * rendering/RenderTextControlSingleLine.h:
475
476 2011-07-13  Ilya Tikhonovsky  <loislo@chromium.org>
477
478         Web Inspector: if you rename an element into the INPUT element the browser will crash.
479         https://bugs.webkit.org/show_bug.cgi?id=64292
480
481         Reviewed by Joseph Pecoraro.
482
483         * inspector/InspectorDOMAgent.cpp:
484         (WebCore::InspectorDOMAgent::setNodeName):
485         Unnecessary function call copyNonAttributeProperties was removed.
486
487 2011-07-13  Yuta Kitamura  <yutak@chromium.org>
488
489         WebSocket: Implement hybi handshake
490         https://bugs.webkit.org/show_bug.cgi?id=64344
491
492         Reviewed by Kent Tamura.
493
494         Implement WebSocket handshake which is described at
495         <http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-5.1>.
496
497         Notable differences from hixie-76 protocol are:
498         - Challenge-response scheme has been changed dramatically.
499         - Servers do not send Sec-WebSocket-Location and Sec-WebSocket-Origin anymore.
500         - The value of "Upgrade" header has been changed to "websocket" (lower-case only).
501         - "Origin" header in client's request is renamed to "Sec-WebSocket-Origin".
502
503         New tests: http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header.html
504                    http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header.html
505                    http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header.html
506
507         Note: Tests under hybi/ directory (including the new ones) are skipped and cannot be enabled
508         yet, because pywebsocket does not accept requests from half-baked client implementation
509         (i.e. hybi handshake + hixie-76 framing). They will be unskipped when hybi framing is landed
510         in WebCore.
511
512         * websockets/WebSocketHandshake.cpp:
513         Functions and members only used for hixie-76 handshake are renamed so that they are not confused
514         with hybi-10's ones.
515         (WebCore::generateHixie76SecWebSocketKey):
516         (WebCore::generateHixie76Key3):
517         (WebCore::generateHixie76ExpectedChallengeResponse):
518         (WebCore::generateSecWebSocketKey):
519         Generates a value for Sec-WebSocket-Key as stated in hybi-10.
520         (WebCore::getExpectedWebSocketAccept):
521         Calculates the expected value of Sec-WebSocket-Accept.
522         (WebCore::WebSocketHandshake::WebSocketHandshake):
523         (WebCore::WebSocketHandshake::clientHandshakeMessage):
524         (WebCore::WebSocketHandshake::clientHandshakeRequest):
525         (WebCore::WebSocketHandshake::readServerHandshake):
526         (WebCore::WebSocketHandshake::serverWebSocketAccept):
527         (WebCore::WebSocketHandshake::serverWebSocketExtensions):
528         (WebCore::WebSocketHandshake::checkResponseHeaders):
529         * websockets/WebSocketHandshake.h:
530
531 2011-07-13  MORITA Hajime  <morrita@google.com>
532
533         [ShadowContentElement] forwarded node should be able to access its hosting content element.
534         https://bugs.webkit.org/show_bug.cgi?id=64251
535         
536         Reviewed by Dimitri Glazkov.
537
538         - Introduced ShadowInclusionSet to manage included nodes to its includer content element.
539           ShadowInclusionSet instance is owned by ShadowRoot.
540         - Updated the set on inclusion list changes.
541         - Used the set to retrieve the content element of NodeRenderingContext.
542         
543         There are also related refactoring and cleanup:
544         - Renamed NodeRenderingContext::m_contentElement to m_includer
545         - ShadowContentSelector::m_activeElement is no longer used, thus removed.
546         
547         Test: fast/dom/shadow/content-element-includer.html
548
549         * WebCore.exp.in:
550         * dom/NodeRenderingContext.cpp:
551         (WebCore::NodeRenderingContext::NodeRenderingContext):
552         (WebCore::NodeRenderingContext::nextRenderer):
553         (WebCore::NodeRenderingContext::previousRenderer):
554         * dom/NodeRenderingContext.h:
555         (WebCore::NodeRenderingContext::includer): 
556         * dom/ShadowContentElement.cpp:
557         (WebCore::removeFromSet): Added
558         (WebCore::addToSet): Added
559         (WebCore::ShadowContentElement::attach):
560         (WebCore::ShadowContentElement::detach):
561         * dom/ShadowContentElement.h:
562         (WebCore::ShadowInclusionSet::add):
563         (WebCore::ShadowInclusionSet::remove):
564         (WebCore::ShadowInclusionSet::isEmpty):
565         (WebCore::ShadowInclusionSet::Translator::hash):
566         (WebCore::ShadowInclusionSet::Translator::equal):
567         (WebCore::ShadowInclusionSet::Hash::hash):
568         (WebCore::ShadowInclusionSet::Hash::equal):
569         (WebCore::ShadowInclusionSet::find):
570         * dom/ShadowContentSelector.cpp:
571         (WebCore::ShadowContentSelector::ShadowContentSelector):
572         (WebCore::ShadowContentSelector::selectInclusion):
573         * dom/ShadowContentSelector.h:
574         * dom/ShadowRoot.cpp:
575         (WebCore::ShadowRoot::~ShadowRoot):
576         (WebCore::ShadowRoot::includerFor): Replaced activeElement()
577         (WebCore::ShadowRoot::inclusions): Added
578         (WebCore::ShadowRoot::ensureInclusions): Added
579         * dom/ShadowRoot.h:
580         (WebCore::toShadowRoot):
581         * testing/Internals.cpp:
582         (WebCore::Internals::includerFor):
583         * testing/Internals.h:
584         * testing/Internals.idl:
585
586 2011-07-12  Dominic Cooney  <dominicc@chromium.org>
587
588         Raise if dispatchEvent dispatches an event that is being dispatched
589         https://bugs.webkit.org/show_bug.cgi?id=64150
590
591         Reviewed by Dimitri Glazkov.
592
593         Spec: http://www.w3.org/TR/DOM-Level-3-Events/#events-EventTarget-dispatchEvent
594
595         Test: fast/events/dispatch-event-being-dispatched.html
596
597         * dom/Event.h:
598         (WebCore::Event::isBeingDispatched): Added.
599         * dom/EventException.h:
600         * dom/EventException.idl: Add DISPATCH_REQUEST_ERR.
601         * dom/EventTarget.cpp:
602         (WebCore::EventTarget::dispatchEvent): Raise if being dispatched.
603         * dom/ExceptionCode.cpp: Add gunk for DISPATCH_REQUEST_ERR.
604
605 2011-07-13  Kent Tamura  <tkent@chromium.org>
606
607         Implement text field placeholders using shadow DOM
608         https://bugs.webkit.org/show_bug.cgi?id=64253
609
610         Reviewed by Dimitri Glazkov.
611
612         Represents a placeholder text as a shadow element, and its
613         visibility is controlled by 'visibility' CSS property.
614
615         This patch removes all of existing code about placeholder from
616         RenderTextControl*. RenderTextControl* have only small code about
617         placeholder layout.
618
619         Also, this patch removes INPUT_PLACEHOLDER legacy pseudo ID, and
620         the placeholder style uses Element::shadowPseudoId().
621
622         This fixes the following regressions:
623         - https://bugs.webkit.org/show_bug.cgi?id=51290
624         - https://bugs.webkit.org/show_bug.cgi?id=54797
625         - https://bugs.webkit.org/show_bug.cgi?id=54814
626         - https://bugs.webkit.org/show_bug.cgi?id=63367
627
628         Test: fast/forms/textarea-placeholder-wrapping.html
629
630         * css/CSSSelector.cpp: Remove INPUT_PLACEHOLDER legacy pseudo ID.
631         (WebCore::CSSSelector::pseudoId):
632         (WebCore::nameToPseudoTypeMap):
633         (WebCore::CSSSelector::extractPseudoType):
634         * css/CSSSelector.h: ditto.
635         * css/html.css:
636         (::-webkit-input-placeholder): Added. This contains properties
637         common in <input> and <textarea>. Some properties have !important
638         so that a stylesheet specified by a page author won't break
639         WebKit's assumption.
640         (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
641          Added the default style for <input> placeholders.
642         * html/HTMLInputElement.cpp:
643         (WebCore::HTMLInputElement::placeholderElement): Delegate to an InputType.
644         (WebCore::HTMLInputElement::updatePlaceholderText): ditto.
645         * html/HTMLInputElement.h: Declare placeholderElement() and updatePlaceholderText().
646         * html/HTMLTextAreaElement.cpp:
647         (WebCore::HTMLTextAreaElement::createRenderer):
648         Remove the 'placeholderVisible' argument.
649         (WebCore::HTMLTextAreaElement::placeholderElement): Added.
650         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
651          Added. This creates, deletes, or updates the placeholder element.
652         * html/HTMLTextAreaElement.h:
653         - Declare placeholderElement() and updatePlaceholderText().
654         - Add m_placeholder.
655         * html/HTMLTextFormControlElement.cpp:
656         (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
657         Update the placeholder element and 'visibility' CSS property,
658         instead of delegating the job to a renderer.
659         * html/HTMLTextFormControlElement.h:
660         Declare two pure virtual functions: placeholderElement() and updatePlaceholderText().
661         * html/InputType.cpp:
662         (WebCore::InputType::placeholderElement): Add an empty implementation.
663         (WebCore::InputType::updatePlaceholderText): Add an empty implementation.
664         * html/InputType.h: Declare placeholderElement() and updatePlaceholderText().
665         * html/TextFieldInputType.cpp:
666         (WebCore::TextFieldInputType::createRenderer):
667         Remove the 'placeholderVisible' argument.
668         (WebCore::TextFieldInputType::placeholderElement): Added.
669         (WebCore::TextFieldInputType::destroyShadowSubtree): Deletes m_placeholder.
670         (WebCore::TextFieldInputType::updatePlaceholderText):
671          Added. This creates, deletes, or updates the placeholder element.
672         * html/TextFieldInputType.h:
673         - Declare placeholderElement() and updatePlaceholderText().
674         - Add m_placeholder.
675         * rendering/RenderTextControl.cpp:
676         (WebCore::RenderTextControl::RenderTextControl):
677         Remove the 'placeholderVisible' argument.
678         (WebCore::RenderTextControl::layoutSpecialExcludedChild):
679         Excludes the placeholder renderer in order to avoid to secure a box for
680         the placeholder.
681         * rendering/RenderTextControl.h:
682         - Remove declarations of removed functions.
683         - Update the RenderTextControl signature.
684         - Add layoutSpecialExcludedChild().
685         * rendering/RenderTextControlMultiLine.cpp:
686         (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
687         Remove the 'placeholderVisible' argument.
688         (WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
689         Laying out the placeholder box so that it has correct width and location.
690         * rendering/RenderTextControlMultiLine.h:
691         - Remove declarations of removed functions.
692         - Update the RenderTextControlMultiLine signature.
693         - Add layoutSpecialExcludedChild().
694         * rendering/RenderTextControlSingleLine.cpp:
695         (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
696         Remove the 'placeholderVisible' argument.
697         (WebCore::RenderTextControlSingleLine::layout):
698         Laying out the placeholder box so that it has correct width and location.
699         * rendering/RenderTextControlSingleLine.h:
700         - Remove declarations of removed functions.
701         - Update the RenderTextControlSingleLine signature.
702         * rendering/style/RenderStyleConstants.h: Remove INPUT_PLACEHOLDER.
703
704 2011-07-13  James Simonsen  <simonjam@chromium.org>
705
706         Remove hack that forcefully prevents scripts from running in shadow SVG
707         https://bugs.webkit.org/show_bug.cgi?id=64419
708
709         This hack was put in to prevent scripts from running in shadow SVG. This should never have
710         happened, but did because we didn't parse <script> tags in SVG properly. This was fixed in
711         r88584, so the hack is no longer needed.
712
713         No new tests since there is no change in functionality.
714
715         Reviewed by Tony Gentilcore.
716
717         * dom/ScriptElement.cpp:
718         (WebCore::ScriptElement::prepareScript):
719
720 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
721
722         [CSSRegions] Parse -webkit-content-order property
723         https://bugs.webkit.org/show_bug.cgi?id=63897
724
725         Reviewed by David Hyatt.
726
727         Test: fast/regions/webkit-content-order-parsing.html
728
729         * css/CSSComputedStyleDeclaration.cpp:
730         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
731         * css/CSSParser.cpp:
732         (WebCore::CSSParser::parseValue):
733         * css/CSSPropertyNames.in:
734         * css/CSSStyleSelector.cpp:
735         (WebCore::CSSStyleSelector::applyProperty):
736         * rendering/style/RenderStyle.cpp:
737         (WebCore::RenderStyle::diff):
738         * rendering/style/RenderStyle.h:
739         (WebCore::InheritedFlags::regionIndex):
740         (WebCore::InheritedFlags::setRegionIndex):
741         (WebCore::InheritedFlags::initialRegionIndex):
742         * rendering/style/StyleRareNonInheritedData.cpp:
743         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
744         (WebCore::StyleRareNonInheritedData::operator==):
745         * rendering/style/StyleRareNonInheritedData.h:
746
747 2011-07-13  James Robinson  <jamesr@chromium.org>
748
749         Reviewed by Kenneth Russell.
750
751         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
752         https://bugs.webkit.org/show_bug.cgi?id=58833
753
754         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
755         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
756         the drawing responsibilities for tiled layers.
757
758         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
759         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
760         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
761         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
762         way tile eviction works.
763
764         * WebCore.gypi:
765         * platform/graphics/chromium/ContentLayerChromium.cpp:
766         (WebCore::ContentLayerChromium::ContentLayerChromium):
767         (WebCore::ContentLayerChromium::paintContentsIfDirty):
768         (WebCore::ContentLayerChromium::drawsContent):
769         * platform/graphics/chromium/ContentLayerChromium.h:
770         (WebCore::ContentLayerChromium::textureUpdater):
771         * platform/graphics/chromium/ImageLayerChromium.cpp:
772         (WebCore::ImageLayerChromium::ImageLayerChromium):
773         (WebCore::ImageLayerChromium::cleanupResources):
774         (WebCore::ImageLayerChromium::paintContentsIfDirty):
775         (WebCore::ImageLayerChromium::textureUpdater):
776         (WebCore::ImageLayerChromium::contentBounds):
777         (WebCore::ImageLayerChromium::drawsContent):
778         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
779         * platform/graphics/chromium/ImageLayerChromium.h:
780         * platform/graphics/chromium/LayerChromium.cpp:
781         (WebCore::LayerChromium::pushPropertiesTo):
782         (WebCore::LayerChromium::ccLayerImpl):
783         * platform/graphics/chromium/LayerChromium.h:
784         * platform/graphics/chromium/LayerRendererChromium.cpp:
785         (WebCore::LayerRendererChromium::drawRootLayer):
786         * platform/graphics/chromium/LayerTilerChromium.cpp:
787         (WebCore::LayerTilerChromium::updateRect):
788         (WebCore::LayerTilerChromium::draw):
789         (WebCore::LayerTilerChromium::drawTiles):
790         * platform/graphics/chromium/LayerTilerChromium.h:
791         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
792         (WebCore::TiledLayerChromium::TiledLayerChromium):
793         (WebCore::TiledLayerChromium::~TiledLayerChromium):
794         (WebCore::TiledLayerChromium::createCCLayerImpl):
795         (WebCore::TiledLayerChromium::cleanupResources):
796         (WebCore::TiledLayerChromium::setLayerRenderer):
797         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
798         (WebCore::TiledLayerChromium::drawsContent):
799         (WebCore::TiledLayerChromium::createTilerIfNeeded):
800         (WebCore::TiledLayerChromium::updateCompositorResources):
801         (WebCore::TiledLayerChromium::setTilingOption):
802         (WebCore::TiledLayerChromium::setIsMask):
803         (WebCore::TiledLayerChromium::tilingTransform):
804         (WebCore::TiledLayerChromium::pushPropertiesTo):
805         (WebCore::writeIndent):
806         (WebCore::TiledLayerChromium::dumpLayerProperties):
807         * platform/graphics/chromium/TiledLayerChromium.h: Added.
808         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
809         (WebCore::CCLayerImpl::draw):
810         * platform/graphics/chromium/cc/CCLayerImpl.h:
811         (WebCore::CCLayerImpl::setDrawsContent):
812         (WebCore::CCLayerImpl::drawsContent):
813         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
814         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
815         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
816         (WebCore::CCTiledLayerImpl::draw):
817         (WebCore::CCTiledLayerImpl::bindContentsTexture):
818         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
819         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
820         (WebCore::CCTiledLayerImpl::create):
821         (WebCore::CCTiledLayerImpl::setTilingTransform):
822         (WebCore::CCTiledLayerImpl::setTiler):
823
824 2011-07-13  Julien Chaffraix  <jchaffraix@webkit.org>
825
826         Remove an unused bit in RenderObject
827         https://bugs.webkit.org/show_bug.cgi?id=64485
828
829         Reviewed by Darin Adler.
830
831         No change in behavior so no new test.
832
833         * rendering/RenderObject.h: Removed a bit that was duplicated from RenderTableCell.
834         However it was not used in RenderObject and RenderTableCell already packed this bit.
835         We were lying in the number of used bits in RenderObject which was 33. This change
836         brings us back to what was advertised.
837
838 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
839
840         Fix non-debug builds.
841
842         * rendering/RenderLayerBacking.cpp:
843         (WebCore::RenderLayerBacking::createGraphicsLayer):
844
845 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
846
847         [chromium] Fix mac build after r90949.
848
849         * bindings/v8/V8HiddenPropertyName.cpp:
850         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
851         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
852         (WebCore::toV8Object):
853
854 2011-07-13  Emil A Eklund  <eae@chromium.org>
855
856         Switch table rendering to to new layout types
857         https://bugs.webkit.org/show_bug.cgi?id=64478
858
859         Reviewed by Eric Seidel.
860
861         No new tests, no new functionality.
862
863         * rendering/AutoTableLayout.cpp:
864         * rendering/AutoTableLayout.h:
865         * rendering/HitTestResult.cpp:
866         * rendering/HitTestResult.h:
867         * rendering/LayoutTypes.h:
868         * rendering/RenderBlock.h:
869         * rendering/RenderBoxModelObject.cpp:
870         * rendering/RenderBoxModelObject.h:
871         * rendering/RenderObject.h:
872         * rendering/RenderTable.cpp:
873         * rendering/RenderTable.h:
874         * rendering/RenderTableCell.cpp:
875         * rendering/RenderTableCell.h:
876
877 2011-07-13  Simon Fraser  <simon.fraser@apple.com>
878
879         Factor some GraphicsLayer creation code in RenderLayerBacking
880         https://bugs.webkit.org/show_bug.cgi?id=64487
881
882         Reviewed by Sam Weinig.
883
884         Move the GraphicsLayer::create() calls into once place so that we
885         don't have lots of #ifndef NDEBUG in various places, and can share
886         more code in future.
887         
888         No behavior change, so no new tests.
889
890         * rendering/RenderLayerBacking.cpp:
891         (WebCore::RenderLayerBacking::RenderLayerBacking):
892         (WebCore::RenderLayerBacking::~RenderLayerBacking):
893         (WebCore::RenderLayerBacking::createGraphicsLayer):
894         (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
895         (WebCore::RenderLayerBacking::destroyGraphicsLayers):
896         (WebCore::RenderLayerBacking::updateLayerTransform):
897         (WebCore::RenderLayerBacking::updateClippingLayers):
898         (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
899         (WebCore::RenderLayerBacking::updateForegroundLayer):
900         (WebCore::RenderLayerBacking::updateMaskLayer):
901         * rendering/RenderLayerBacking.h:
902
903 2011-07-13  Xan Lopez  <xlopez@igalia.com>
904
905         [GTK] Fix distcheck.
906
907         Reviewed by Martin Robinson.
908
909         * GNUmakefile.list.am: add missing files.
910
911 2011-07-13  James Robinson  <jamesr@chromium.org>
912
913         [chromium] No implementation defined for WTF::monotonicallyIncreasingTime
914         https://bugs.webkit.org/show_bug.cgi?id=64420
915
916         Reviewed by Tony Gentilcore.
917
918         Removes some redundant time related code.
919
920         * platform/chromium/PlatformBridge.h:
921         * platform/chromium/SystemTimeChromium.cpp:
922         (WebCore::userIdleTime):
923
924 2011-07-13  Vitaly Repeshko  <vitalyr@chromium.org>
925
926         [V8] Avoid memory leaks with hidden references.
927         https://bugs.webkit.org/show_bug.cgi?id=64467
928
929         Reviewed by Adam Barth.
930
931         We used to have growing arrays of hidden references associated
932         with objects. The entries in this array had no keys and were never
933         removed. This patch changes the interface to require a reference
934         name. This way it's harder to leak an unbounded number of
935         objects. Also it makes our wrapper objects one machine word
936         smaller.
937
938         * bindings/scripts/CodeGeneratorV8.pm:
939         (GenerateNormalAttrGetter): Started using new interface.
940
941         Interface changes:
942         * bindings/v8/V8DOMWrapper.cpp:
943         (WebCore::V8DOMWrapper::setNamedHiddenReference):
944         (WebCore::V8DOMWrapper::setNamedHiddenWindowReference):
945         * bindings/v8/V8DOMWrapper.h:
946
947         Added a helper to compute hidden reference names as V8 strings:
948         * bindings/v8/V8HiddenPropertyName.cpp:
949         (WebCore::V8HiddenPropertyName::hiddenReferenceName):
950         * bindings/v8/V8HiddenPropertyName.h:
951
952         * bindings/v8/WrapperTypeInfo.h: Removed the hidden reference
953         array internal field.
954
955         Update usages of hidden references:
956         * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
957         (WebCore::toV8):
958         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
959         (WebCore::toV8):
960         * bindings/v8/custom/V8DOMTokenListCustom.cpp:
961         (WebCore::toV8):
962         * bindings/v8/custom/V8LocationCustom.cpp:
963         (WebCore::toV8):
964         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
965         (WebCore::V8MessageChannel::constructorCallback):
966         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
967         (WebCore::toV8):
968         * bindings/v8/custom/V8StyleSheetCustom.cpp:
969         (WebCore::toV8):
970         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
971         (WebCore::toV8Object):
972
973         * bindings/scripts/test/V8/V8TestObj.cpp:
974         (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter): Updated.
975
976 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
977
978         Improve names of some ApplicationCacheStorage accessor methods
979         https://bugs.webkit.org/show_bug.cgi?id=64433
980
981         Reviewed by Alexey Proskuryakov.
982
983         Some methods returned a bool for success/failure and
984         actually returned a value as an out parameter so their
985         name was confusing. Rename these methods to make them
986         more clear.
987
988         (WebCore::ApplicationCache::diskUsageForOrigin):
989         * loader/appcache/ApplicationCacheGroup.cpp:
990         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
991         * loader/appcache/ApplicationCacheStorage.cpp:
992         (WebCore::ApplicationCacheStorage::calculateQuotaForOrigin):
993         (WebCore::ApplicationCacheStorage::calculateUsageForOrigin):
994         (WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
995         (WebCore::ApplicationCacheStorage::checkOriginQuota):
996         * loader/appcache/ApplicationCacheStorage.h:
997         * loader/appcache/ApplicationCache.cpp:
998         Rename the methods.
999
1000         * WebCore.exp.in:
1001         Replaced old versions. Also, calculateRemaining wasn't needed
1002         outside WebCore, so no longer export it.
1003
1004 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
1005
1006         Some ApplicationCache Origin Cleanup
1007         https://bugs.webkit.org/show_bug.cgi?id=64431
1008
1009         Reviewed by Alexey Proskuryakov.
1010
1011         - m_loadedSize is inaccurate. This just replaces it with
1012         calls to ApplicationCache::estimatedSizeInStorage.
1013
1014         - m_availableSpaceInQuota can get out of date, so we just
1015         recalculate it at the start of appcache downloads.
1016
1017         * loader/appcache/ApplicationCacheGroup.h:
1018         * loader/appcache/ApplicationCacheGroup.cpp:
1019         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1020         (WebCore::ApplicationCacheGroup::didReceiveData):
1021         Remove references to m_loadedSize.
1022
1023         (WebCore::ApplicationCacheGroup::didFinishLoading):
1024         Replace m_loadedSize with estimatedSizeInStorage after we
1025         add the new cached resource to the cache. The calculation
1026         already happened so this check is fast.
1027
1028         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
1029         When we start the Downloading phase, recalculate the quota
1030         so that we have an up to date quota value so that we can
1031         break early if needed.
1032
1033 2011-07-12  Brent Fulgham  <bfulgham@webkit.org>
1034
1035         Standardize WinCairo conditionalized code under PLATFORM macro.
1036         https://bugs.webkit.org/show_bug.cgi?id=64377
1037
1038         Reviewed by Maciej Stachowiak.
1039
1040         Update compile-time conditions that had previously used #ifdef
1041         of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
1042
1043         * WebCore.vcproj/WebCoreCairo.vsprops: Remove redundant declaration
1044           of WIN_CAIRO.
1045         * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Update to use
1046           the existing WinCairo.vsprops file.
1047         * WebCorePrefix.h: Update for new WTF_PLATFORM_WIN_CAIRO define.
1048         * config.h: Update to use PLATFORM(WIN_CAIRO).
1049
1050 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
1051
1052         [CSS Exclusions] Fix for comment #23 on wrap-shape parsing bug 61726
1053         https://bugs.webkit.org/show_bug.cgi?id=64464
1054
1055         Reviewed by Tony Chang.
1056
1057         No new tests needed.
1058
1059         * css/CSSParser.cpp:
1060         (WebCore::CSSParser::parseWrapShapeRect): Removed the "valid" local.
1061         (WebCore::CSSParser::parseWrapShapeCircle): Removed the "valid" local.
1062         (WebCore::CSSParser::parseWrapShapeEllipse): Removed the "valid" local.
1063         * css/CSSPrimitiveValue.cpp:
1064         * css/CSSWrapShapes.h:
1065         (WebCore::CSSWrapShapePolygon::getXAt): Replaced bit shift with multiplication.
1066         (WebCore::CSSWrapShapePolygon::getYAt): Replaced bit shift with multiplication.
1067         * rendering/style/RenderStyle.cpp:
1068         * rendering/style/StyleRareNonInheritedData.h:
1069
1070 2011-07-13  Abhishek Arya  <inferno@chromium.org>
1071
1072         Reviewed by Adam Barth.
1073
1074         Issue with Frame lifetime due to deletion in beforeload event.
1075         https://bugs.webkit.org/show_bug.cgi?id=64457
1076
1077         Copy the Frame protector higher in the stack from loadWithDocumentLoader
1078         to loadFrameRequest since any of loadPostRequest or loadURL can call
1079         loadWithDocumentLoader, thereby dispatching the beforeload event and
1080         blowing away the frame. This deleted frame will be later accessed in
1081         the loadFrameRequest function causing a crash.       
1082  
1083         Test: fast/events/form-iframe-target-before-load-crash2.html
1084
1085         * loader/FrameLoader.cpp:
1086         (WebCore::FrameLoader::loadFrameRequest):
1087         (WebCore::FrameLoader::loadWithDocumentLoader):
1088
1089 2011-07-13  Mihnea Ovidenie  <mihnea@adobe.com>
1090
1091         [CSSRegions]content:-webkit-from-flow not applied correctly
1092         https://bugs.webkit.org/show_bug.cgi?id=64438
1093
1094         Reviewed by Tony Chang.
1095
1096         Forgot to modify getStringValue(), i was modifying only getStringValue(ExceptionCode&).
1097
1098         Test: fast/regions/content-webkit-from-flow-parsing.html (existing).
1099
1100         * css/CSSPrimitiveValue.cpp:
1101         (WebCore::CSSPrimitiveValue::getStringValue):
1102
1103 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1104
1105         Don't reuse the last InsertTextCommand
1106         https://bugs.webkit.org/show_bug.cgi?id=64416
1107
1108         Reviewed by Justin Garcia.
1109
1110         This patch makes the interface of InsertTextCommand less foreign. It now takes arguments in
1111         its constructor and executes the command in doApply like other edit commands.
1112
1113         * editing/CompositeEditCommand.cpp:
1114         (WebCore::CompositeEditCommand::applyCommandToComposite): Added.
1115         * editing/CompositeEditCommand.h:
1116         * editing/InsertTextCommand.cpp:
1117         (WebCore::InsertTextCommand::InsertTextCommand): Takes arguments input used to take.
1118         (WebCore::InsertTextCommand::doApply): Renamed from input.
1119         * editing/InsertTextCommand.h:
1120         (WebCore::InsertTextCommand::create): Takes arguments input used to take.
1121         * editing/TypingCommand.cpp:
1122         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Creates InsertTextCommand.
1123
1124 2011-07-12  Dmitry Lomov  <dslomov@google.com>
1125
1126         https://bugs.webkit.org/show_bug.cgi?id=63041
1127         [Chromium][V8] Make DOMDataStore per-isolate
1128         This patch:
1129          - makes DOMData class an utility class with static members only
1130          - adds an isolate-specific DOMDataStore in V8BindingPerIsolateData.
1131         Dromaeo benchmarks are not affected.
1132
1133         Reviewed by Adam Barth.
1134
1135         * bindings/v8/DOMData.cpp:
1136         (WebCore::getDefaultStore):
1137         (WebCore::DOMData::getCurrentStore):
1138         * bindings/v8/DOMData.h:
1139         * bindings/v8/DOMDataStore.cpp:
1140         (WebCore::DOMDataStore::DOMDataStore):
1141         (WebCore::DOMDataStore::allStores):
1142         * bindings/v8/DOMDataStore.h:
1143         * bindings/v8/ScopedDOMDataStore.cpp:
1144         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
1145         * bindings/v8/ScopedDOMDataStore.h:
1146         * bindings/v8/StaticDOMDataStore.cpp:
1147         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1148         * bindings/v8/StaticDOMDataStore.h:
1149         * bindings/v8/V8Binding.h:
1150         (WebCore::V8BindingPerIsolateData::allStores):
1151         (WebCore::V8BindingPerIsolateData::getDOMDataStore):
1152         (WebCore::V8BindingPerIsolateData::setDOMDataStore):
1153         * bindings/v8/V8Binding.cpp:
1154         (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
1155         * bindings/v8/V8DOMMap.cpp:
1156         (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
1157         (WebCore::getDOMDataStore):
1158         (WebCore::enableFasterDOMStoreAccess):
1159
1160 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
1161
1162         Rename compositing-related updateContentsScale() methods
1163         https://bugs.webkit.org/show_bug.cgi?id=64430
1164
1165         Reviewed by Joseph Pecoraro.
1166
1167         Rename updateContentsScale() to something less presumptuous; layers may choose
1168         to do something other than update their contents scale when the page scale factor
1169         changes. pageScaleFactorChanged() is a better name.
1170
1171         * page/Frame.cpp:
1172         (WebCore::Frame::pageScaleFactorChanged):
1173         (WebCore::Frame::scalePage):
1174         * page/Frame.h:
1175         * rendering/RenderLayer.cpp:
1176         (WebCore::RenderLayer::pageScaleFactorChanged):
1177         * rendering/RenderLayer.h:
1178         * rendering/RenderLayerBacking.cpp:
1179         (WebCore::RenderLayerBacking::pageScaleFactorChanged):
1180         * rendering/RenderLayerBacking.h:
1181         * rendering/RenderLayerCompositor.cpp:
1182         (WebCore::RenderLayerCompositor::pageScaleFactorChanged):
1183         * rendering/RenderLayerCompositor.h:
1184
1185 2011-07-13  Pierre Rossi  <pierre.rossi@gmail.com>
1186
1187         Fix compile for QRawFont.
1188
1189         https://bugs.webkit.org/show_bug.cgi?id=64453
1190
1191         Reviewed by Andreas Kling.
1192
1193         * platform/graphics/GraphicsContext.h:
1194         * platform/graphics/qt/FontQt.cpp:
1195         (WebCore::Font::drawGlyphs):
1196
1197 2011-07-13  John Knottenbelt  <jknotten@chromium.org>
1198
1199         Reference Geolocation object from GeoNotifier and Geolocation::setIsAllowed.
1200         https://bugs.webkit.org/show_bug.cgi?id=64363
1201
1202         Reviewed by Tony Gentilcore.
1203
1204         Test: fast/dom/Geolocation/remove-remote-context-in-error-callback-crash.html
1205
1206         * page/Geolocation.cpp:
1207         (WebCore::Geolocation::setIsAllowed):
1208         * page/Geolocation.h:
1209
1210 2011-07-13  Vsevolod Vlasov  <vsevik@chromium.org>
1211
1212         Web Inspector: Network panel search needs each resource to have unique identifier.
1213         https://bugs.webkit.org/show_bug.cgi?id=64287
1214
1215         Reviewed by Pavel Feldman.
1216
1217         * inspector/front-end/NetworkManager.js:
1218         (WebInspector.NetworkManager.prototype.requestContent):
1219         (WebInspector.NetworkDispatcher):
1220         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
1221         (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
1222         (WebInspector.NetworkDispatcher.prototype._appendRedirect):
1223         * inspector/front-end/NetworkPanel.js:
1224         (WebInspector.NetworkPanel.prototype._appendResource):
1225         (WebInspector.NetworkPanel.prototype._frameNavigated):
1226         (WebInspector.NetworkPanel.prototype._updateSearchMatchedListAfterResourceIdentifierChanged):
1227
1228 2011-07-13  Alexandru Chiculita  <achicu@adobe.com>
1229
1230         Bridge RenderBoxModelObject::calculateBackgroundImageGeometry parameters into a class
1231         https://bugs.webkit.org/show_bug.cgi?id=63987
1232
1233         Reviewed by Hajime Morita.
1234
1235         Change doesn't add new functionality. No test needed.
1236
1237         * rendering/RenderBox.cpp:
1238         (WebCore::RenderBox::maskClipRect):
1239         (WebCore::RenderBox::repaintLayerRectsForImage):
1240         * rendering/RenderBoxModelObject.cpp:
1241         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
1242         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
1243         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
1244         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
1245         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
1246         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
1247         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1248         * rendering/RenderBoxModelObject.h:
1249         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
1250         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
1251         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
1252         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
1253         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
1254         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
1255         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
1256         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
1257         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
1258         (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):
1259
1260 2011-07-13  MORITA Hajime  <morrita@google.com>
1261
1262         Refactoring: Ignored ExceptionCode value should be less annoying.
1263         https://bugs.webkit.org/show_bug.cgi?id=63688
1264
1265         - Introduced ExceptionCodePlaceholder class for the default parameter of ExceptionCode.
1266         - Introduced ASSERT_NO_EXCEPTION to check ExceptionCode not set to non-zero after the call.
1267         - Adopted ASSERT_NO_EXCEPTION in Range.cpp
1268
1269         No new tests. No behaviour change.
1270
1271         Reviewed by Darin Adler.
1272
1273         * GNUmakefile.list.am:
1274         * WebCore.gypi:
1275         * WebCore.xcodeproj/project.pbxproj:
1276         * dom/ExceptionCodePlaceholder.h: Added.
1277         (WebCore::ExceptionCodePlaceholder::ExceptionCodePlaceholder):
1278         (WebCore::ExceptionCodePlaceholder::operator ExceptionCode& ):
1279         (WebCore::IgnorableExceptionCode::IgnorableExceptionCode):
1280         (WebCore::CheckedExceptionCode::CheckedExceptionCode):
1281         (WebCore::CheckedExceptionCode::~CheckedExceptionCode):
1282         * dom/Range.cpp:
1283         (WebCore::Range::Range):
1284         (WebCore::Range::editingStartPosition):
1285         * dom/Range.h:        
1286
1287 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1288
1289         Regression: OOB read in svg text run
1290         https://bugs.webkit.org/show_bug.cgi?id=63627
1291
1292         Not reviewed.
1293
1294         Fixed last minute typo leading to assertions.
1295
1296         * rendering/InlineTextBox.cpp:
1297         (WebCore::InlineTextBox::paintSelection):
1298
1299 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
1300
1301         Web Inspector: factor NetworkLogView out of Network panel
1302         https://bugs.webkit.org/show_bug.cgi?id=64366
1303
1304         Reviewed by Pavel Feldman.
1305
1306         * inspector/front-end/NetworkPanel.js:
1307         (WebInspector.NetworkLogView):
1308         (WebInspector.NetworkLogView.prototype.get useLargeRows):
1309         (WebInspector.NetworkLogView.prototype.set allowPopover):
1310         (WebInspector.NetworkLogView.prototype.elementsToRestoreScrollPositionsFor):
1311         (WebInspector.NetworkLogView.prototype.resize):
1312         (WebInspector.NetworkLogView.prototype._createTable):
1313         (WebInspector.NetworkLogView.prototype.show):
1314         (WebInspector.NetworkLogView.prototype.hide):
1315         (WebInspector.NetworkLogView.prototype._reset):
1316         (WebInspector.NetworkLogView.prototype.switchToDetailedView):
1317         (WebInspector.NetworkLogView.prototype.switchToBriefView):
1318         (WebInspector.NetworkLogView.prototype.get _setLargerResources):
1319         (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
1320         (WebInspector.NetworkPanel):
1321         (WebInspector.NetworkPanel.prototype.get toolbarItemLabel):
1322         (WebInspector.NetworkPanel.prototype.get statusBarItems):
1323         (WebInspector.NetworkPanel.prototype.elementsToRestoreScrollPositionsFor):
1324         (WebInspector.NetworkPanel.prototype.resize):
1325         (WebInspector.NetworkPanel.prototype._reset):
1326         (WebInspector.NetworkPanel.prototype.updateSidebarWidth):
1327         (WebInspector.NetworkPanel.prototype.updateMainViewWidth):
1328         (WebInspector.NetworkPanel.prototype.handleShortcut):
1329         (WebInspector.NetworkPanel.prototype.show):
1330         (WebInspector.NetworkPanel.prototype.hide):
1331         (WebInspector.NetworkPanel.prototype.get resources):
1332         (WebInspector.NetworkPanel.prototype.resourceById):
1333         (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
1334         (WebInspector.NetworkPanel.prototype.showAnchorLocation):
1335         (WebInspector.NetworkPanel.prototype._onViewCleared):
1336         (WebInspector.NetworkPanel.prototype._onRowSizeChanged):
1337         (WebInspector.NetworkPanel.prototype._onResourceSelected):
1338         (WebInspector.NetworkPanel.prototype._showResource):
1339         (WebInspector.NetworkPanel.prototype._closeVisibleResource):
1340         (WebInspector.NetworkPanel.prototype._toggleGridMode):
1341         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
1342         (WebInspector.NetworkPanel.prototype.performSearch):
1343         (WebInspector.NetworkPanel.prototype.jumpToPreviousSearchResult):
1344         (WebInspector.NetworkPanel.prototype.jumpToNextSearchResult):
1345         (WebInspector.NetworkPanel.prototype.searchCanceled):
1346         (WebInspector.NetworkDataGridNode):
1347         (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
1348         (WebInspector.NetworkDataGridNode.prototype.select):
1349         (WebInspector.NetworkDataGridNode.prototype.get selectable):
1350
1351 2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
1352
1353         Unreviewed, rolling out r90634.
1354         http://trac.webkit.org/changeset/90634
1355         https://bugs.webkit.org/show_bug.cgi?id=64448
1356
1357         Qt HTTP Pipelining is not robust enough to be used in that
1358         generic way. (Requested by benjaminp on #webkit).
1359
1360         * platform/network/qt/ResourceRequestQt.cpp:
1361         (WebCore::ResourceRequest::toNetworkRequest):
1362
1363 2011-07-13  Nikolas Zimmermann  <nzimmermann@rim.com>
1364
1365         Regression: OOB read in svg text run
1366         https://bugs.webkit.org/show_bug.cgi?id=63627
1367
1368         Reviewed by Zoltan Herczeg.
1369
1370         A TextRun is constructed for a portion of a string [a,b] whose original length is c (0 < a < b < c).
1371         The TextRun charactersLength variable stores the length of the remaining text from (b..c) in order
1372         to support ligatures in SVG Fonts. Example: <text>ffl</text>. When measuring the advance from char 0
1373         to char 1 the whole 'ffl' text must be passed to the SVG glyph selection code, as the SVG Font may
1374         define a single glyph for the characters 'ffl' thus leading to a single character long text
1375         pointing to the ffl ligature, not three individual 'f' / 'f' / 'l' characters anymore.
1376
1377         constructTextRun(..const UChar*, int length, ..) did not correctly calculate the maximum length (b..c).
1378         The passed in UChar buffer starts at eg. textRenderer->characters() + start(), and following condition
1379         holds true for 'length': start() + length <= textRenderer->textLength() (which denotes the maximum length
1380         of the textRenderer->characters() buffer). We have to keep track of the start() offset, so that we
1381         can calculate the charactersLength for the TextRun correctly: textRenderer->textLength() - start().
1382
1383         There are also other cases like RenderCombinedText and/or the presence of hyphens that were incorrectly
1384         tracked. Only InlineTextBox had to be fixed, the other callsites in eg. RenderBlockLineLayout already
1385         computed the maximum length correctly - I assured this by valgrind runs on all SVG Font tests.
1386
1387         * rendering/InlineTextBox.cpp:
1388         (WebCore::InlineTextBox::paint):
1389         (WebCore::InlineTextBox::paintSelection):
1390         (WebCore::InlineTextBox::constructTextRun): Add maximumLength parameter to constructTextRun.
1391         * rendering/InlineTextBox.h: Ditto.
1392
1393 2011-07-12  Antti Koivisto  <antti@apple.com>
1394
1395         didFirstVisuallyNonEmptyLayout dispatched too early
1396         https://bugs.webkit.org/show_bug.cgi?id=64412
1397
1398         Reviewed by Darin Adler and Sam Weinig.
1399
1400         Improve the mechanism that dispatches didFirstVisuallyNonEmptyLayout
1401
1402         - Wait until a threshold of characters and pixels has been exceeded before dispatching.
1403         - Wait until stylesheets are loaded (painting is disabled in this case).
1404
1405         * page/FrameView.cpp:
1406         (WebCore::FrameView::reset):
1407         (WebCore::FrameView::performPostLayoutTasks):
1408         * page/FrameView.h:
1409         (WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount):
1410         (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount):
1411         * rendering/RenderImage.cpp:
1412         (WebCore::RenderImage::RenderImage):
1413         (WebCore::RenderImage::imageChanged):
1414         * rendering/RenderImage.h:
1415         * rendering/RenderText.cpp:
1416         (WebCore::RenderText::RenderText):
1417
1418 2011-07-12  MORITA Hajime  <morrita@google.com>
1419
1420         [Refactoring][ShadowContentElement] Forwarded node list should be a linked-list.
1421         https://bugs.webkit.org/show_bug.cgi?id=64252
1422
1423         Reviewed by Dimitri Glazkov.
1424
1425         Introduced ShadowInclusionList and ShadowInclusion for maintaining
1426         forwarded content children. ShadowInclusion is doubly-linked list.
1427         ShadowContentElement::m_inclusions is replaced by ShadowInclusionList.
1428         
1429         This change is a prepration for bug 64251, which will introduce
1430         forwarded-children to content-element table.
1431         
1432         No new tests. No behavioral change.
1433
1434         * dom/NodeRenderingContext.cpp:
1435         (WebCore::nextRendererOf):
1436         (WebCore::previousRendererOf):
1437         (WebCore::firstRendererOf):
1438         (WebCore::lastRendererOf):
1439         * dom/ShadowContentElement.cpp:
1440         (WebCore::ShadowInclusion::append):
1441         (WebCore::ShadowInclusion::unlink):
1442         (WebCore::ShadowInclusionList::ShadowInclusionList):
1443         (WebCore::ShadowInclusionList::~ShadowInclusionList):
1444         (WebCore::ShadowInclusionList::find):
1445         (WebCore::ShadowInclusionList::clear):
1446         (WebCore::ShadowInclusionList::append):
1447         (WebCore::ShadowContentElement::attach):
1448         * dom/ShadowContentElement.h:
1449         (WebCore::ShadowInclusion::includer):
1450         (WebCore::ShadowInclusion::content):
1451         (WebCore::ShadowInclusion::next):
1452         (WebCore::ShadowInclusion::previous):
1453         (WebCore::ShadowInclusion::ShadowInclusion):
1454         (WebCore::ShadowInclusion::create):
1455         (WebCore::ShadowInclusionList::first):
1456         (WebCore::ShadowInclusionList::last):
1457         (WebCore::ShadowInclusionList::isEmpty):
1458         (WebCore::ShadowInclusionList::append):
1459         (WebCore::ShadowContentElement::inclusions):
1460         * dom/ShadowContentSelector.cpp:
1461         (WebCore::ShadowContentSelector::selectInclusion):
1462         * dom/ShadowContentSelector.h:
1463
1464 2011-07-12  David Reveman  <reveman@chromium.org>
1465
1466         [Chromium] Use nearest filter method with pixel aligned transforms.
1467         https://bugs.webkit.org/show_bug.cgi?id=64338
1468
1469         Reviewed by James Robinson.
1470
1471         Check for integer translation and use nearest texture filter when
1472         possible to avoid filter precisions problems at the layer edges.
1473
1474         Test: compositing/iframes/nested-iframe-scrolling.html (existing)
1475
1476         * platform/graphics/chromium/LayerTilerChromium.cpp:
1477         (WebCore::LayerTilerChromium::drawTiles):
1478         * platform/graphics/transforms/TransformationMatrix.cpp:
1479         (WebCore::TransformationMatrix::isIntegerTranslation):
1480         * platform/graphics/transforms/TransformationMatrix.h:
1481
1482 2011-07-12  David Reveman  <reveman@chromium.org>
1483
1484         Removed unnecessary function parameters from TilingData::textureOffset.
1485         https://bugs.webkit.org/show_bug.cgi?id=64245
1486
1487         Reviewed by Brent Fulgham.
1488
1489         No new tests, no functionality changes.
1490
1491         * platform/graphics/chromium/LayerTilerChromium.cpp:
1492         (WebCore::LayerTilerChromium::drawTiles):
1493         * platform/graphics/gpu/TilingData.cpp:
1494         (WebCore::TilingData::textureOffset):
1495         * platform/graphics/gpu/TilingData.h:
1496
1497 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
1498
1499         Move RenderTextControl::indexForVisiblePosition to HTMLTextFormControlElement
1500         https://bugs.webkit.org/show_bug.cgi?id=64403
1501
1502         Reviewed by Hajime Morita.
1503
1504         Moved indexForVisiblePosition from RenderTextControl to HTMLTextFormControlElement.
1505
1506         Also replaced the call to RenderTextControl::isSelectableElement by a call to enclosingTextFormControl
1507         (moved from htmlediting to HTMLTextFormControlElement) because we are only interested in checking
1508         whether the given position is inside the current text form control or not.
1509
1510         In addition, modernized the code in indexForVisiblePosition by calling parentAnchoredEquivalent on the
1511         given position and replacing calls to deprecateNode and deprecatedEditingOffset by calls to containerNode
1512         and offsetInContainer.
1513
1514         * accessibility/AccessibilityRenderObject.cpp:
1515         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Calls indexForVisiblePosition.
1516         * editing/htmlediting.cpp: Removed enclosingTextFromControl.
1517         * editing/htmlediting.h: Removed enclosingTextFromControl.
1518         * html/HTMLTextFormControlElement.cpp:
1519         (WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Moved from RenderTextControl.
1520         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Calls indexForVisiblePosition.
1521         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Calls indexForVisiblePosition.
1522         (WebCore::enclosingTextFormControl): Moved from htmlediting.cpp
1523         * html/HTMLTextFormControlElement.h:
1524         * rendering/RenderTextControl.cpp:
1525         * rendering/RenderTextControl.h:
1526
1527 2011-07-12  Julien Chaffraix  <jchaffraix@webkit.org>
1528
1529         Make RenderObject::containingBlock virtual for better speed and clarity
1530         https://bugs.webkit.org/show_bug.cgi?id=64318
1531
1532         Reviewed by Darin Adler.
1533
1534         No new tests, performance refactoring.
1535
1536         On some of my test cases, this method takes between 3 and 5% of the time spend.
1537         The method makes 2 calls to virtual methods which could be moved to their overriden
1538         version of containingBlock if we made it virtual.
1539
1540         That's what this patch does. It saves between 1 and 2% on some synthetic test cases
1541         as well as made the current method shorter.
1542
1543         * rendering/RenderObject.cpp:
1544         (WebCore::RenderObject::containingBlock): Removed code for RenderView and RenderTableCell,
1545         replaced by ASSERTs.
1546
1547         * rendering/RenderObject.h: Made containingBlock virtual.
1548
1549         * rendering/RenderTableCell.h:
1550         (WebCore::RenderTableCell::containingBlock):
1551         * rendering/RenderView.h:
1552         (WebCore::RenderView::containingBlock):
1553         The code moved from RenderObject is inlined in those 2 methods.
1554
1555 2011-07-12  James Robinson  <jamesr@chromium.org>
1556
1557         [chromium] Chromium win build fix.
1558
1559         * platform/graphics/chromium/FontChromiumWin.cpp:
1560         (WebCore::drawGlyphsWin):
1561
1562 2011-07-12  Pratik Solanki  <psolanki@apple.com>
1563
1564         Get webkit to compile with USE(CFNETWORK) enabled on Mac
1565         https://bugs.webkit.org/show_bug.cgi?id=63674
1566
1567         Reviewed by David Kilzer.
1568
1569         Changes to ResourceHandle class to get it to compile with USE(CFNETWORK).
1570
1571         No new tests because no change in functionality and option is not enabled on Mac.
1572
1573         * platform/network/ResourceHandle.h:
1574         * platform/network/ResourceHandleInternal.h:
1575         * platform/network/cf/ResourceHandleCFNet.cpp:
1576         (WebCore::didReceiveResponse):
1577         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1578         (WebCore::ResourceHandle::start):
1579         (WebCore::WebCoreSynchronousLoaderClient::willSendRequest): Call adjustMIMETypeIfNecessary
1580         on Mac. Also port over fix for <rdar://problem/6901522> added in r43993 which forces the
1581         MIME type to text/html if the request is annotated with a "ForceHTMLMIMEType" property.
1582
1583 2011-07-12  James Robinson  <jamesr@chromium.org>
1584
1585         [chromium] Delete the unused legacy accelerated canvas 2d code
1586         https://bugs.webkit.org/show_bug.cgi?id=64214
1587
1588         Reviewed by Stephen White.
1589
1590         This removes the legacy accelerated canvas 2d path and support logic since we (chromium) are no longer using
1591         this codepath and it seems clear that no other port is interested.
1592
1593         Refactoring and removing unused code, so no new tests.
1594
1595         * WebCore.gypi:
1596         * WebCore.xcodeproj/project.pbxproj:
1597         * html/canvas/CanvasRenderingContext2D.cpp:
1598         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
1599         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
1600         (WebCore::CanvasRenderingContext2D::didDraw):
1601         * html/canvas/CanvasRenderingContext2D.h:
1602         * loader/EmptyClients.h:
1603         * page/ChromeClient.h:
1604         * page/Page.cpp:
1605         (WebCore::Page::sharedGraphicsContext3D):
1606         * page/Page.h:
1607         * platform/graphics/GraphicsContext.cpp:
1608         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
1609         (WebCore::GraphicsContext::syncSoftwareCanvas):
1610         * platform/graphics/GraphicsContext.h:
1611         * platform/graphics/GraphicsContext3D.h:
1612         * platform/graphics/chromium/DrawingBufferChromium.cpp:
1613         (WebCore::DrawingBuffer::setGrContext):
1614         * platform/graphics/chromium/FontLinux.cpp:
1615         (WebCore::Font::drawGlyphs):
1616         * platform/graphics/chromium/cc/CCLayerSorter.cpp:
1617         (WebCore::pointInTriangle):
1618         * platform/graphics/gpu/BicubicShader.cpp: Removed.
1619         * platform/graphics/gpu/BicubicShader.h: Removed.
1620         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
1621         * platform/graphics/gpu/ConvolutionShader.h: Removed.
1622         * platform/graphics/gpu/GraphicsContextGPU.cpp: Removed.
1623         * platform/graphics/gpu/GraphicsContextGPU.h: Removed.
1624         * platform/graphics/gpu/SharedGraphicsContext3D.cpp: Removed.
1625         * platform/graphics/gpu/SharedGraphicsContext3D.h: Removed.
1626         * platform/graphics/gpu/SolidFillShader.cpp: Removed.
1627         * platform/graphics/gpu/SolidFillShader.h: Removed.
1628         * platform/graphics/gpu/TexShader.cpp: Removed.
1629         * platform/graphics/gpu/TexShader.h: Removed.
1630         * platform/graphics/skia/GraphicsContextSkia.cpp:
1631         (WebCore::GraphicsContext::savePlatformState):
1632         (WebCore::GraphicsContext::restorePlatformState):
1633         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1634         (WebCore::GraphicsContext::clearRect):
1635         (WebCore::GraphicsContext::clip):
1636         (WebCore::GraphicsContext::canvasClip):
1637         (WebCore::GraphicsContext::clipOut):
1638         (WebCore::GraphicsContext::clipPath):
1639         (WebCore::GraphicsContext::concatCTM):
1640         (WebCore::GraphicsContext::setCTM):
1641         (WebCore::GraphicsContext::drawConvexPolygon):
1642         (WebCore::GraphicsContext::drawEllipse):
1643         (WebCore::GraphicsContext::drawFocusRing):
1644         (WebCore::GraphicsContext::drawLine):
1645         (WebCore::GraphicsContext::drawLineForTextChecking):
1646         (WebCore::GraphicsContext::drawLineForText):
1647         (WebCore::GraphicsContext::drawRect):
1648         (WebCore::GraphicsContext::fillPath):
1649         (WebCore::GraphicsContext::fillRect):
1650         (WebCore::GraphicsContext::fillRoundedRect):
1651         (WebCore::GraphicsContext::scale):
1652         (WebCore::GraphicsContext::setAlpha):
1653         (WebCore::GraphicsContext::setPlatformCompositeOperation):
1654         (WebCore::GraphicsContext::setPlatformFillColor):
1655         (WebCore::GraphicsContext::setPlatformShadow):
1656         (WebCore::GraphicsContext::strokeArc):
1657         (WebCore::GraphicsContext::strokePath):
1658         (WebCore::GraphicsContext::strokeRect):
1659         (WebCore::GraphicsContext::rotate):
1660         (WebCore::GraphicsContext::translate):
1661         (WebCore::GraphicsContext::setSharedGraphicsContext3D):
1662         (WebCore::GraphicsContext::syncSoftwareCanvas):
1663         * platform/graphics/skia/ImageBufferSkia.cpp:
1664         (WebCore::ImageBuffer::copyImage):
1665         (WebCore::ImageBuffer::draw):
1666         (WebCore::ImageBuffer::getUnmultipliedImageData):
1667         (WebCore::ImageBuffer::getPremultipliedImageData):
1668         (WebCore::ImageBuffer::putUnmultipliedImageData):
1669         (WebCore::ImageBuffer::putPremultipliedImageData):
1670         * platform/graphics/skia/ImageSkia.cpp:
1671         (WebCore::BitmapImage::draw):
1672         (WebCore::BitmapImageSingleFrameSkia::draw):
1673         * platform/graphics/skia/NativeImageSkia.cpp:
1674         (WebCore::NativeImageSkia::~NativeImageSkia):
1675         * platform/graphics/skia/PlatformContextSkia.cpp:
1676         (WebCore::PlatformContextSkia::PlatformContextSkia):
1677         (WebCore::PlatformContextSkia::~PlatformContextSkia):
1678         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1679         (WebCore::PlatformContextSkia::makeGrContextCurrent):
1680         * platform/graphics/skia/PlatformContextSkia.h:
1681
1682 2011-07-12  Emil A Eklund  <eae@chromium.org>
1683
1684         Switch InlineFlowBox to to new layout types
1685         https://bugs.webkit.org/show_bug.cgi?id=64399
1686
1687         Reviewed by Eric Seidel.
1688
1689         First step in moving floats over to the new layout abstraction.
1690
1691         No new tests, no new functionality.
1692
1693         * rendering/InlineBox.cpp:
1694         (WebCore::InlineBox::logicalHeight):
1695         * rendering/InlineBox.h:
1696         (WebCore::InlineBox::logicalTop):
1697         (WebCore::InlineBox::logicalBottom):
1698         (WebCore::InlineBox::setLogicalTop):
1699         * rendering/InlineFlowBox.cpp:
1700         (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
1701         (WebCore::InlineFlowBox::computeLogicalBoxHeights):
1702         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
1703         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
1704         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
1705         (WebCore::InlineFlowBox::addReplacedChildOverflow):
1706         (WebCore::InlineFlowBox::constrainToLineTopAndBottomIfNeeded):
1707         (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
1708         (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
1709         * rendering/InlineFlowBox.h:
1710         * rendering/RenderBlock.cpp:
1711         (WebCore::RenderBlock::logicalRightSelectionGap):
1712         * rendering/RenderBlock.h:
1713         * rendering/RootInlineBox.cpp:
1714         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
1715         (WebCore::RootInlineBox::lineSelectionGap):
1716         (WebCore::RootInlineBox::ascentAndDescentForBox):
1717         (WebCore::RootInlineBox::verticalPositionForBox):
1718         * rendering/RootInlineBox.h:
1719         * rendering/style/RenderStyle.cpp:
1720         (WebCore::RenderStyle::getShadowExtent):
1721         (WebCore::RenderStyle::getShadowHorizontalExtent):
1722         (WebCore::RenderStyle::getShadowVerticalExtent):
1723         * rendering/style/RenderStyle.h:
1724         (WebCore::InheritedFlags::getTextShadowExtent):
1725         (WebCore::InheritedFlags::getTextShadowHorizontalExtent):
1726         (WebCore::InheritedFlags::getTextShadowVerticalExtent):
1727         (WebCore::InheritedFlags::getTextShadowInlineDirectionExtent):
1728         (WebCore::InheritedFlags::getTextShadowBlockDirectionExtent):
1729         (WebCore::InheritedFlags::getBoxShadowExtent):
1730         (WebCore::InheritedFlags::getBoxShadowHorizontalExtent):
1731         (WebCore::InheritedFlags::getBoxShadowVerticalExtent):
1732         (WebCore::InheritedFlags::getBoxShadowInlineDirectionExtent):
1733         (WebCore::InheritedFlags::getBoxShadowBlockDirectionExtent):
1734         (WebCore::InheritedFlags::getShadowInlineDirectionExtent):
1735         (WebCore::InheritedFlags::getShadowBlockDirectionExtent):
1736         * rendering/style/ShadowData.cpp:
1737         (WebCore::calculateShadowExtent):
1738         (WebCore::ShadowData::adjustRectForShadow):
1739         * rendering/style/ShadowData.h:
1740         (WebCore::ShadowData::ShadowData):
1741         (WebCore::ShadowData::x):
1742         (WebCore::ShadowData::y):
1743
1744 2011-07-12  Kenichi Ishibashi  <bashi@chromium.org>
1745
1746         [Chromium] SVG text is not rendered sometimes with geometricPrecision
1747         https://bugs.webkit.org/show_bug.cgi?id=64341
1748
1749         Changing the type of x and y offsets of ComplexTextControllerLinux to make it possible to treat negative offsets.
1750
1751         Reviewed by Tony Chang.
1752
1753         Test: platform/chromium-linux/svg/text/text-with-geometric-precision.svg
1754
1755         * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Changed the type of m_offsetX and m_startingY from unsigned to int.
1756         (WebCore::ComplexTextController::ComplexTextController): Changed the type of the argument.
1757         (WebCore::ComplexTextController::reset): Ditto.
1758         * platform/graphics/chromium/ComplexTextControllerLinux.h:
1759
1760 2011-07-12  Alexandru Chiculita  <achicu@adobe.com>
1761
1762         Reviewed by David Hyatt.
1763
1764         [CSS Exclusions] Parse wrap-shape property
1765         https://bugs.webkit.org/show_bug.cgi?id=61726
1766
1767         Parsing wrap-shape: rect, circle, ellipse and polygon.
1768         Moved WindRule from Path.h to it's own file.
1769
1770         Test: fast/exclusions/parsing-wrap-shape.html
1771
1772         * WebCore.vcproj/WebCore.vcproj:
1773         * WebCore.xcodeproj/project.pbxproj:
1774         * css/CSSComputedStyleDeclaration.cpp:
1775         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1776         * css/CSSParser.cpp:
1777         (WebCore::CSSParser::parseValue):
1778         (WebCore::CSSParser::parseWrapShapeRect):
1779         (WebCore::CSSParser::parseWrapShapeCircle):
1780         (WebCore::CSSParser::parseWrapShapeEllipse):
1781         (WebCore::CSSParser::parseWrapShapePolygon):
1782         (WebCore::CSSParser::parseWrapShape):
1783         * css/CSSParser.h:
1784         * css/CSSPrimitiveValue.cpp:
1785         (WebCore::CSSPrimitiveValue::init):
1786         (WebCore::CSSPrimitiveValue::cleanup):
1787         (WebCore::CSSPrimitiveValue::cssText):
1788         * css/CSSPrimitiveValue.h:
1789         (WebCore::CSSPrimitiveValue::getShapeValue):
1790         * css/CSSPropertyNames.in:
1791         * css/CSSStyleSelector.cpp:
1792         (WebCore::CSSStyleSelector::applyProperty):
1793         * css/CSSValueKeywords.in:
1794         * css/CSSWrapShapes.cpp: Added.
1795         (WebCore::CSSWrapShapeRect::cssText):
1796         (WebCore::CSSWrapShapeCircle::cssText):
1797         (WebCore::CSSWrapShapeEllipse::cssText):
1798         (WebCore::CSSWrapShapePolygon::cssText):
1799         * css/CSSWrapShapes.h: Added.
1800         (WebCore::CSSWrapShape::~CSSWrapShape):
1801         (WebCore::CSSWrapShape::CSSWrapShape):
1802         (WebCore::CSSWrapShapeRect::create):
1803         (WebCore::CSSWrapShapeRect::left):
1804         (WebCore::CSSWrapShapeRect::top):
1805         (WebCore::CSSWrapShapeRect::width):
1806         (WebCore::CSSWrapShapeRect::height):
1807         (WebCore::CSSWrapShapeRect::radiusX):
1808         (WebCore::CSSWrapShapeRect::radiusY):
1809         (WebCore::CSSWrapShapeRect::setLeft):
1810         (WebCore::CSSWrapShapeRect::setTop):
1811         (WebCore::CSSWrapShapeRect::setWidth):
1812         (WebCore::CSSWrapShapeRect::setHeight):
1813         (WebCore::CSSWrapShapeRect::setRadiusX):
1814         (WebCore::CSSWrapShapeRect::setRadiusY):
1815         (WebCore::CSSWrapShapeRect::type):
1816         (WebCore::CSSWrapShapeRect::CSSWrapShapeRect):
1817         (WebCore::CSSWrapShapeCircle::create):
1818         (WebCore::CSSWrapShapeCircle::left):
1819         (WebCore::CSSWrapShapeCircle::top):
1820         (WebCore::CSSWrapShapeCircle::radius):
1821         (WebCore::CSSWrapShapeCircle::setLeft):
1822         (WebCore::CSSWrapShapeCircle::setTop):
1823         (WebCore::CSSWrapShapeCircle::setRadius):
1824         (WebCore::CSSWrapShapeCircle::type):
1825         (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
1826         (WebCore::CSSWrapShapeEllipse::create):
1827         (WebCore::CSSWrapShapeEllipse::left):
1828         (WebCore::CSSWrapShapeEllipse::top):
1829         (WebCore::CSSWrapShapeEllipse::radiusX):
1830         (WebCore::CSSWrapShapeEllipse::radiusY):
1831         (WebCore::CSSWrapShapeEllipse::setLeft):
1832         (WebCore::CSSWrapShapeEllipse::setTop):
1833         (WebCore::CSSWrapShapeEllipse::setRadiusX):
1834         (WebCore::CSSWrapShapeEllipse::setRadiusY):
1835         (WebCore::CSSWrapShapeEllipse::type):
1836         (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
1837         (WebCore::CSSWrapShapePolygon::create):
1838         (WebCore::CSSWrapShapePolygon::appendPoint):
1839         (WebCore::CSSWrapShapePolygon::getXAt):
1840         (WebCore::CSSWrapShapePolygon::getYAt):
1841         (WebCore::CSSWrapShapePolygon::setWindRule):
1842         (WebCore::CSSWrapShapePolygon::windRule):
1843         (WebCore::CSSWrapShapePolygon::type):
1844         (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
1845         * css/SVGCSSValueKeywords.in:
1846         * platform/graphics/Path.h:
1847         * platform/graphics/WindRule.h: Added.
1848         * rendering/style/RenderStyle.cpp:
1849         (WebCore::RenderStyle::diff):
1850         * rendering/style/RenderStyle.h:
1851         (WebCore::InheritedFlags::setWrapShape):
1852         (WebCore::InheritedFlags::wrapShape):
1853         (WebCore::InheritedFlags::initialWrapShape):
1854         * rendering/style/StyleRareNonInheritedData.cpp:
1855         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1856         (WebCore::StyleRareNonInheritedData::operator==):
1857         * rendering/style/StyleRareNonInheritedData.h:
1858
1859 2011-07-12  Simon Fraser  <simon.fraser@apple.com>
1860
1861         Clean up some RenderLayerCompositor code relating to scroll and root layers
1862         https://bugs.webkit.org/show_bug.cgi?id=64400
1863
1864         Reviewed by James Robinson.
1865
1866         There was no need for FrameView::syncCompositingStateForThisFrame()
1867         to call syncCompositingStateForThisLayerOnly() on the various
1868         scrollbar-related layers, because the subsequent call to 
1869         compositor()->flushPendingLayerChanges() starts to flush at
1870         m_overflowControlsHostLayer if one exists, and it's an ancestor
1871         of the scrollbar layers.
1872         
1873         Also clean up terminology in RenderLayerCompositor.
1874             m_rootPlatformLayer -> m_rootContentLayer
1875             rootPlatformLayer() -> rootGraphicsLayer()
1876         
1877         No behavior change, so no new tests.
1878         
1879         * page/FrameView.cpp:
1880         (WebCore::FrameView::syncCompositingStateForThisFrame):
1881         * rendering/RenderLayerCompositor.cpp:
1882         (WebCore::RenderLayerCompositor::enableCompositingMode):
1883         (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
1884         (WebCore::RenderLayerCompositor::updateCompositingLayers):
1885         (WebCore::RenderLayerCompositor::layerTreeAsText):
1886         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
1887         (WebCore::RenderLayerCompositor::rootGraphicsLayer):
1888         (WebCore::RenderLayerCompositor::didMoveOnscreen):
1889         (WebCore::RenderLayerCompositor::willMoveOffscreen):
1890         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
1891         (WebCore::RenderLayerCompositor::ensureRootLayer):
1892         (WebCore::RenderLayerCompositor::destroyRootLayer):
1893         (WebCore::RenderLayerCompositor::attachRootLayer):
1894         (WebCore::RenderLayerCompositor::detachRootLayer):
1895         (WebCore::RenderLayerCompositor::updateRootLayerAttachment):
1896         * rendering/RenderLayerCompositor.h:
1897
1898 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1899
1900         Unreviewed, rolling out r90842.
1901         http://trac.webkit.org/changeset/90842
1902         https://bugs.webkit.org/show_bug.cgi?id=64401
1903
1904         Causes crash in debug on compositing/overflow/content-gains-
1905         scrollbars.html (Requested by jamesr on #webkit).
1906
1907         * WebCore.gypi:
1908         * platform/graphics/chromium/ContentLayerChromium.cpp:
1909         (WebCore::ContentLayerChromium::ContentLayerChromium):
1910         (WebCore::ContentLayerChromium::paintContentsIfDirty):
1911         (WebCore::ContentLayerChromium::cleanupResources):
1912         (WebCore::ContentLayerChromium::setLayerRenderer):
1913         (WebCore::ContentLayerChromium::tilingTransform):
1914         (WebCore::ContentLayerChromium::contentBounds):
1915         (WebCore::ContentLayerChromium::updateLayerSize):
1916         (WebCore::ContentLayerChromium::draw):
1917         (WebCore::ContentLayerChromium::drawsContent):
1918         (WebCore::ContentLayerChromium::createTilerIfNeeded):
1919         (WebCore::ContentLayerChromium::updateCompositorResources):
1920         (WebCore::ContentLayerChromium::setTilingOption):
1921         (WebCore::ContentLayerChromium::bindContentsTexture):
1922         (WebCore::ContentLayerChromium::setIsMask):
1923         (WebCore::writeIndent):
1924         (WebCore::ContentLayerChromium::dumpLayerProperties):
1925         * platform/graphics/chromium/ContentLayerChromium.h:
1926         * platform/graphics/chromium/ImageLayerChromium.cpp:
1927         (WebCore::ImageLayerChromium::ImageLayerChromium):
1928         (WebCore::ImageLayerChromium::paintContentsIfDirty):
1929         (WebCore::ImageLayerChromium::updateCompositorResources):
1930         (WebCore::ImageLayerChromium::contentBounds):
1931         * platform/graphics/chromium/ImageLayerChromium.h:
1932         (WebCore::ImageLayerChromium::drawsContent):
1933         * platform/graphics/chromium/LayerChromium.cpp:
1934         (WebCore::LayerChromium::pushPropertiesTo):
1935         (WebCore::LayerChromium::ccLayerImpl):
1936         * platform/graphics/chromium/LayerChromium.h:
1937         (WebCore::LayerChromium::draw):
1938         * platform/graphics/chromium/LayerRendererChromium.cpp:
1939         (WebCore::LayerRendererChromium::drawRootLayer):
1940         * platform/graphics/chromium/LayerTilerChromium.cpp:
1941         (WebCore::LayerTilerChromium::updateRect):
1942         (WebCore::LayerTilerChromium::draw):
1943         (WebCore::LayerTilerChromium::drawTiles):
1944         * platform/graphics/chromium/LayerTilerChromium.h:
1945         * platform/graphics/chromium/TiledLayerChromium.cpp: Removed.
1946         * platform/graphics/chromium/TiledLayerChromium.h: Removed.
1947         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1948         (WebCore::CCLayerImpl::drawsContent):
1949         (WebCore::CCLayerImpl::draw):
1950         * platform/graphics/chromium/cc/CCLayerImpl.h:
1951         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Removed.
1952         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Removed.
1953
1954 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
1955
1956         ApplicationCache update should not immediately fail when reaching per-origin quota
1957         https://bugs.webkit.org/show_bug.cgi?id=64177
1958
1959         Reviewed by Alexey Proskuryakov.
1960
1961         New behavior of handling ApplicationCache per-origin quotas. Previously,
1962         if the quota was reached while downloading we would fail the download
1963         and then prompt the user for a storage increase. This required a refresh,
1964         a redownload of resources, and the total storage was not known so the
1965         process could be repeated multiple times before an acceptable quota
1966         was found or the user disallowed an increase.
1967         
1968         The new behavior is to complete the download of the entire appcache.
1969         When the cache completes downloading and it is greater than the origin
1970         quota, prompt the user to allow a quota increase with the known space
1971         needed. If the quota is increased, the cache will succeed, otherwise
1972         it will fail with the normal failure steps.
1973
1974         An alternative behavior is prompting while downloading immediately
1975         when the origin quota is reached, however at that point the entire
1976         space needed is unknown and so quota increases might not be enough
1977         and could result in multiple prompts to the user.
1978
1979         Tests: http/tests/appcache/origin-quota-continued-download-multiple-manifests.html
1980                http/tests/appcache/origin-quota-continued-download.html
1981
1982         * loader/appcache/ApplicationCacheGroup.h:
1983         * loader/appcache/ApplicationCacheGroup.cpp:
1984         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1985         Rename instance variable to be more clear on its intent.
1986
1987         (WebCore::ApplicationCacheGroup::didFinishLoading):
1988         Check the quota limit while downloading so we can fail early
1989         if the user already denied a quota increase.
1990
1991         (WebCore::ApplicationCacheGroup::didReachOriginQuota):
1992         Pass the space needed information to the chrome client.
1993
1994         (WebCore::ApplicationCacheGroup::cacheUpdateFailedDueToOriginQuota):
1995         Removed. Instead convert the callers to update state and console
1996         log when the per-origin quota is reached. This allows us to follow
1997         the normal failure steps if the quota is reached at the end of a
1998         download, and the alternative short path when we fail during downloading.
1999
2000         (WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota):
2001         Extract to a helper function.
2002
2003         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2004         Allow for a quota increase at the end of the download now that
2005         we know the space needed. Then proceed to fail or succeed
2006         as we normally would.
2007
2008         * loader/appcache/ApplicationCacheStorage.h:
2009         * loader/appcache/ApplicationCacheStorage.cpp:
2010         (WebCore::ApplicationCacheStorage::checkOriginQuota):
2011         (WebCore::ApplicationCacheStorage::storeNewestCache):
2012         Extract checking the origin quota for when an ApplicationCacheGroup
2013         will be replacing an ApplicationCacheGroup into a helper function.
2014         The helper also provides an out parameter for the space needed
2015         to properly fit the new cache group if it wouldn't fit.
2016
2017         * page/ChromeClient.h:
2018         * loader/EmptyClients.h:
2019         (WebCore::EmptyChromeClient::reachedApplicationCacheOriginQuota):
2020         Add a space needed parameter when reaching the per-origin quota.
2021
2022 2011-07-12  Chris Rogers  <crogers@google.com>
2023
2024         AudioDevice::Stop can close NULL handle.
2025         https://bugs.webkit.org/show_bug.cgi?id=64157
2026
2027         Reviewed by Kenneth Russell.
2028
2029         No new tests since audio API is not yet implemented.
2030
2031         * bindings/js/JSAudioContextCustom.cpp:
2032         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2033         * bindings/v8/custom/V8AudioContextCustom.cpp:
2034         (WebCore::V8AudioContext::constructorCallback):
2035         * webaudio/AudioContext.cpp:
2036         (WebCore::AudioContext::create):
2037         (WebCore::AudioContext::uninitialize):
2038         * webaudio/AudioContext.h:
2039
2040 2011-07-12  John Bates  <jbates@google.com>
2041
2042         Move call to syncCompositingLayers so that we do not trigger redundant draws.
2043         https://bugs.webkit.org/show_bug.cgi?id=64224
2044
2045         doComposite was triggering two composites every time a canvas was dirtied.
2046         By moving syncCompositingLayers call to layout, the client code can draw without triggering
2047         a redundant frame. Also renamed WebViewImpl::updateLayers to
2048         syncCompositingLayers, because it was confusing. CCLayerTreeHostImplProxy::updateLayers was
2049         no longer needed, because animateAndLayout calls WebViewImpl::layout.
2050
2051         Reviewed by James Robinson.
2052
2053         * platform/graphics/chromium/LayerRendererChromium.cpp:
2054         (WebCore::LayerRendererChromium::updateLayers):
2055         * platform/graphics/chromium/LayerRendererChromium.h:
2056         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2057         (WebCore::CCLayerTreeHost::syncCompositingLayers):
2058         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2059         * platform/graphics/chromium/cc/CCLayerTreeHostImplProxy.cpp:
2060         (WebCore::CCLayerTreeHostImplProxy::requestFrameAndCommit):
2061
2062 2011-07-12  Ryosuke Niwa  <rniwa@webkit.org>
2063
2064         Isolate HTMLTextFormControlElement into a separate file
2065         https://bugs.webkit.org/show_bug.cgi?id=64381
2066
2067         Reviewed by Dimitri Glazkov.
2068
2069         Extracted HTMLTextFormControlElement.h and HTMLTextFormControlElement.cpp out of
2070         HTMLFormControlElement.h and HTMLFormControlElement.cpp.
2071
2072         Also moved defaultEventHandler from HTMLFormControlElementWithState to HTMLTextFormControlElement
2073         because it was specific to HTMLTextFormControlElement, and replaced all references to
2074         HTMLFormControlElementWithState in HTMLInputElement and HTMLTextAreaElement by ones to
2075         HTMLTextFormControlElement.
2076
2077         * CMakeLists.txt:
2078         * GNUmakefile.list.am:
2079         * WebCore.gypi:
2080         * WebCore.pro:
2081         * WebCore.vcproj/WebCore.vcproj:
2082         * WebCore.xcodeproj/project.pbxproj:
2083         * editing/TextIterator.cpp:
2084         * editing/htmlediting.cpp:
2085         * html/HTMLElementsAllInOne.cpp:
2086         * html/HTMLFormControlElement.cpp:
2087         (WebCore::HTMLFormControlElement::isFocusable):
2088         * html/HTMLFormControlElement.h:
2089         * html/HTMLInputElement.cpp:
2090         (WebCore::HTMLInputElement::isKeyboardFocusable):
2091         (WebCore::HTMLInputElement::isMouseFocusable):
2092         (WebCore::HTMLInputElement::updateFocusAppearance):
2093         (WebCore::HTMLInputElement::canStartSelection):
2094         (WebCore::HTMLInputElement::parseMappedAttribute):
2095         (WebCore::HTMLInputElement::finishParsingChildren):
2096         (WebCore::HTMLInputElement::rendererIsNeeded):
2097         (WebCore::HTMLInputElement::attach):
2098         (WebCore::HTMLInputElement::detach):
2099         (WebCore::HTMLInputElement::copyNonAttributeProperties):
2100         (WebCore::HTMLInputElement::defaultEventHandler):
2101         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
2102         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2103         (WebCore::HTMLInputElement::addSubresourceAttributeURLs):
2104         (WebCore::HTMLInputElement::recalcWillValidate):
2105         * html/HTMLInputElement.h:
2106         * html/HTMLTextAreaElement.cpp:
2107         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2108         * html/HTMLTextAreaElement.h:
2109         * html/HTMLTextFormControlElement.cpp: Copied from Source/WebCore/html/HTMLFormControlElement.cpp.
2110         (WebCore::HTMLTextFormControlElement::defaultEventHandler):
2111         * html/HTMLTextFormControlElement.h: Copied from Source/WebCore/html/HTMLFormControlElement.h.
2112
2113 2011-07-12  Sheriff Bot  <webkit.review.bot@gmail.com>
2114
2115         Unreviewed, rolling out r90831.
2116         http://trac.webkit.org/changeset/90831
2117         https://bugs.webkit.org/show_bug.cgi?id=64389
2118
2119         Likely caused fast/canvas/DrawImageSinglePixelStretch.html to
2120         start timing out on the chromium GPU bots (Requested by ojan
2121         on #webkit).
2122
2123         * platform/graphics/skia/ImageBufferSkia.cpp:
2124         (WebCore::getImageData):
2125         (WebCore::putImageData):
2126
2127 2011-07-12  James Robinson  <jamesr@chromium.org>
2128
2129         Reviewed by Kenneth Russell.
2130
2131         [chromium] Move draw implementation for ContentLayerChromium/ImageLayerChromium to the appropriate CCLayerImpl subclass
2132         https://bugs.webkit.org/show_bug.cgi?id=58833
2133
2134         Adds a TiledLayerChromium class to handle the tiling logic shared by ContentLayerChromium and ImageLayerChromium
2135         so that they can be siblings in the class hierarchy instead of children. Also adds a CCTiledLayerImpl to handle
2136         the drawing responsibilities for tiled layers.
2137
2138         TiledLayerChromium maintains a tiler, tiling options, and calculates the tiling transform. Subclasses are
2139         responsible for providing an appropriate texture updater implementation. CCTiledLayerImpl takes the tiler,
2140         tiling transform and layer properties and draws the layer.  Longer term it'd be better of the CCTiledLayerImpl
2141         owned the tiler and the TiledLayerChromium only owned an updater, but getting there will require changing the
2142         way tile eviction works.
2143
2144         * WebCore.gypi:
2145         * platform/graphics/chromium/ContentLayerChromium.cpp:
2146         (WebCore::ContentLayerChromium::ContentLayerChromium):
2147         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2148         (WebCore::ContentLayerChromium::drawsContent):
2149         * platform/graphics/chromium/ContentLayerChromium.h:
2150         (WebCore::ContentLayerChromium::textureUpdater):
2151         * platform/graphics/chromium/ImageLayerChromium.cpp:
2152         (WebCore::ImageLayerChromium::ImageLayerChromium):
2153         (WebCore::ImageLayerChromium::cleanupResources):
2154         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2155         (WebCore::ImageLayerChromium::textureUpdater):
2156         (WebCore::ImageLayerChromium::contentBounds):
2157         (WebCore::ImageLayerChromium::drawsContent):
2158         (WebCore::ImageLayerChromium::createTextureUpdaterIfNeeded):
2159         * platform/graphics/chromium/ImageLayerChromium.h:
2160         * platform/graphics/chromium/LayerChromium.cpp:
2161         (WebCore::LayerChromium::pushPropertiesTo):
2162         (WebCore::LayerChromium::ccLayerImpl):
2163         * platform/graphics/chromium/LayerChromium.h:
2164         (WebCore::LayerChromium::contentBounds):
2165         * platform/graphics/chromium/LayerRendererChromium.cpp:
2166         (WebCore::LayerRendererChromium::drawRootLayer):
2167         (WebCore::visibleLayerRect):
2168         (WebCore::paintLayerContentsIfDirty):
2169         (WebCore::LayerRendererChromium::paintLayerContents):
2170         (WebCore::LayerRendererChromium::drawLayer):
2171         * platform/graphics/chromium/LayerTilerChromium.cpp:
2172         (WebCore::LayerTilerChromium::updateRect):
2173         (WebCore::LayerTilerChromium::draw):
2174         (WebCore::LayerTilerChromium::drawTiles):
2175         * platform/graphics/chromium/LayerTilerChromium.h:
2176         * platform/graphics/chromium/TiledLayerChromium.cpp: Added.
2177         (WebCore::TiledLayerChromium::TiledLayerChromium):
2178         (WebCore::TiledLayerChromium::~TiledLayerChromium):
2179         (WebCore::TiledLayerChromium::createCCLayerImpl):
2180         (WebCore::TiledLayerChromium::cleanupResources):
2181         (WebCore::TiledLayerChromium::setLayerRenderer):
2182         (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
2183         (WebCore::TiledLayerChromium::drawsContent):
2184         (WebCore::TiledLayerChromium::createTilerIfNeeded):
2185         (WebCore::TiledLayerChromium::updateCompositorResources):
2186         (WebCore::TiledLayerChromium::setTilingOption):
2187         (WebCore::TiledLayerChromium::setIsMask):
2188         (WebCore::TiledLayerChromium::tilingTransform):
2189         (WebCore::TiledLayerChromium::pushPropertiesTo):
2190         (WebCore::writeIndent):
2191         (WebCore::TiledLayerChromium::dumpLayerProperties):
2192         * platform/graphics/chromium/TiledLayerChromium.h: Copied from Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h.
2193         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2194         (WebCore::CCLayerImpl::draw):
2195         * platform/graphics/chromium/cc/CCLayerImpl.h:
2196         (WebCore::CCLayerImpl::setDrawsContent):
2197         (WebCore::CCLayerImpl::drawsContent):
2198         (WebCore::CCLayerImpl::contentBounds):
2199         (WebCore::CCLayerImpl::setContentBounds):
2200         (WebCore::CCLayerImpl::doubleSided):
2201         (WebCore::CCLayerImpl::setDoubleSided):
2202         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp: Added.
2203         (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
2204         (WebCore::CCTiledLayerImpl::~CCTiledLayerImpl):
2205         (WebCore::CCTiledLayerImpl::draw):
2206         (WebCore::CCTiledLayerImpl::bindContentsTexture):
2207         (WebCore::CCTiledLayerImpl::dumpLayerProperties):
2208         * platform/graphics/chromium/cc/CCTiledLayerImpl.h: Added.
2209         (WebCore::CCTiledLayerImpl::create):
2210         (WebCore::CCTiledLayerImpl::setTilingTransform):
2211         (WebCore::CCTiledLayerImpl::setTiler):
2212
2213 2011-07-12  Arno Renevier  <arno@renevier.net>
2214
2215         [GTK] DOM bindings do not have gir annotations
2216         https://bugs.webkit.org/show_bug.cgi?id=45395
2217
2218         Reviewed by Xan Lopez.
2219
2220         * bindings/scripts/CodeGeneratorGObject.pm: generate introspection annotations.
2221         * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: update for new output.
2222         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: ditto.
2223         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: ditto.
2224
2225 2011-07-12  Chris Rogers  <crogers@google.com>
2226
2227         webkitAudioContext does not do proper sanity checking on its arguments.
2228         https://bugs.webkit.org/show_bug.cgi?id=64076
2229
2230         Reviewed by Kenneth Russell.
2231
2232         No new tests since audio API is not yet implemented.
2233
2234         * bindings/js/JSAudioContextCustom.cpp:
2235         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2236         (WebCore::JSAudioContext::createBuffer):
2237         * bindings/v8/custom/V8AudioContextCustom.cpp:
2238         (WebCore::V8AudioContext::constructorCallback):
2239         (WebCore::V8AudioContext::createBufferCallback):
2240         * platform/audio/HRTFDatabaseLoader.h:
2241         (WebCore::HRTFDatabaseLoader::databaseSampleRate):
2242         * webaudio/AudioContext.cpp:
2243         (WebCore::AudioContext::create):
2244         (WebCore::AudioContext::createOfflineContext):
2245         (WebCore::AudioContext::createBuffer):
2246         * webaudio/AudioContext.h:
2247
2248 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2249
2250         Implement didReceiveDataArray callback for CFNetwork based loader
2251         https://bugs.webkit.org/show_bug.cgi?id=64130
2252
2253         Reviewed by David Kilzer.
2254
2255         Factor out the didReceiveDataArray code from ResourceHandleMac.mm into
2256         a new method ResourceHandle::handleDataArray(). Implement the callback
2257         in the CFNetwork loader code and call handleDataArray() to process
2258         incoming data.
2259
2260         No new tests because the flag is not enabled for any bots.
2261
2262         * platform/network/ResourceHandle.h:
2263         * platform/network/cf/ResourceHandleCFNet.cpp:
2264         (WebCore::didReceiveDataArray):
2265         (WebCore::ResourceHandle::createCFURLConnection):
2266         (WebCore::ResourceHandle::handleDataArray):
2267         * platform/network/mac/ResourceHandleMac.mm:
2268         (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
2269
2270 2011-07-12  Emil A Eklund  <eae@chromium.org>
2271
2272         Switch preferred width/height and columns to to new layout types
2273         https://bugs.webkit.org/show_bug.cgi?id=64329
2274
2275         Reviewed by Eric Seidel.
2276
2277         No new tests, no new functionality.
2278
2279         * rendering/LayoutTypes.h:
2280         (WebCore::ceiledLayoutUnit):
2281         Add ceiledLayoutUnit to go with the floored version.
2282         
2283         * rendering/RenderBlock.cpp:
2284         (WebCore::RenderBlock::adjustRectForColumns):
2285         (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
2286         (WebCore::RenderBlock::adjustStartEdgeForWritingModeIncludingColumns):
2287         Rename rect version of flipForWritingModeIncludingColumns to
2288         adjustStartEdgeForWritingModeIncludingColumns as it adjust the start edge
2289         and does not flip the rect.
2290        
2291         (WebCore::RenderBlock::adjustForColumns):
2292         (WebCore::updatePreferredWidth):
2293         * rendering/RenderBlock.h:
2294         * rendering/RenderBox.cpp:
2295         (WebCore::RenderBox::minPreferredLogicalWidth):
2296         (WebCore::RenderBox::maxPreferredLogicalWidth):
2297         (WebCore::RenderBox::offsetFromContainer):
2298         (WebCore::RenderBox::computePercentageLogicalHeight):
2299         (WebCore::RenderBox::flipForWritingMode):
2300         (WebCore::RenderBox::flipForWritingModeIncludingColumns):
2301         * rendering/RenderBox.h:
2302         * rendering/RenderListBox.cpp:
2303         (WebCore::RenderListBox::itemBoundingBoxRect):
2304         * rendering/RenderListBox.h:
2305         * rendering/RenderObject.h:
2306         (WebCore::RenderObject::minPreferredLogicalWidth):
2307         (WebCore::RenderObject::maxPreferredLogicalWidth):
2308         (WebCore::RenderObject::adjustForColumns):
2309         * rendering/RenderReplaced.cpp:
2310         (WebCore::RenderReplaced::computeReplacedLogicalWidth):
2311         (WebCore::RenderReplaced::computeReplacedLogicalHeight):
2312         * rendering/TableLayout.h:
2313
2314 2011-07-12  Levi Weintraub  <leviw@chromium.org>
2315
2316         Change roundedIntRect to roundedRect
2317         https://bugs.webkit.org/show_bug.cgi?id=64326
2318
2319         Reviewed by Eric Seidel.
2320
2321         Renaming RoundedIntRect to RoundedRect and moving the underlying type to Layout units from
2322         integer-based versions.
2323
2324         No new tests, no new functionality
2325
2326         * WebCore.gypi:
2327         * WebCore.pro:
2328         * WebCore.vcproj/WebCore.vcproj:
2329         * WebCore.xcodeproj/project.pbxproj:
2330         * platform/graphics/GraphicsContext.cpp:
2331         (WebCore::GraphicsContext::addRoundedRectClip):
2332         (WebCore::GraphicsContext::clipOutRoundedRect):
2333         (WebCore::GraphicsContext::fillRoundedRect):
2334         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2335         * platform/graphics/GraphicsContext.h:
2336         * platform/graphics/Path.cpp:
2337         (WebCore::Path::addRoundedRect):
2338         * platform/graphics/Path.h:
2339         * platform/graphics/RoundedIntRect.cpp: Removed.
2340         * platform/graphics/RoundedIntRect.h: Removed.
2341         * platform/graphics/RoundedRect.cpp: Copied from Source/WebCore/platform/graphics/RoundedIntRect.cpp.
2342         (WebCore::RoundedRect::Radii::isZero):
2343         (WebCore::RoundedRect::Radii::scale):
2344         (WebCore::RoundedRect::Radii::expand):
2345         (WebCore::RoundedRect::inflateWithRadii):
2346         (WebCore::RoundedRect::Radii::includeLogicalEdges):
2347         (WebCore::RoundedRect::Radii::excludeLogicalEdges):
2348         (WebCore::RoundedRect::RoundedRect):
2349         (WebCore::RoundedRect::includeLogicalEdges):
2350         (WebCore::RoundedRect::excludeLogicalEdges):
2351         (WebCore::RoundedRect::isRenderable):
2352         * platform/graphics/RoundedRect.h: Copied from Source/WebCore/platform/graphics/RoundedIntRect.h.
2353         (WebCore::RoundedRect::Radii::Radii):
2354         (WebCore::RoundedRect::Radii::setTopLeft):
2355         (WebCore::RoundedRect::Radii::setTopRight):
2356         (WebCore::RoundedRect::Radii::setBottomLeft):
2357         (WebCore::RoundedRect::Radii::setBottomRight):
2358         (WebCore::RoundedRect::Radii::topLeft):
2359         (WebCore::RoundedRect::Radii::topRight):
2360         (WebCore::RoundedRect::Radii::bottomLeft):
2361         (WebCore::RoundedRect::Radii::bottomRight):
2362         (WebCore::RoundedRect::Radii::expand):
2363         (WebCore::RoundedRect::Radii::shrink):
2364         (WebCore::RoundedRect::rect):
2365         (WebCore::RoundedRect::setRect):
2366         (WebCore::RoundedRect::move):
2367         (WebCore::RoundedRect::inflate):
2368         (WebCore::RoundedRect::expandRadii):
2369         (WebCore::RoundedRect::shrinkRadii):
2370         (WebCore::operator==):
2371         * platform/graphics/ShadowBlur.cpp:
2372         (WebCore::ScratchBuffer::setLastShadowValues):
2373         (WebCore::ScratchBuffer::setLastInsetShadowValues):
2374         (WebCore::ScratchBuffer::matchesLastShadow):
2375         (WebCore::ScratchBuffer::matchesLastInsetShadow):
2376         (WebCore::computeSliceSizesFromRadii):
2377         (WebCore::ShadowBlur::templateSize):
2378         (WebCore::ShadowBlur::drawRectShadow):
2379         (WebCore::ShadowBlur::drawInsetShadow):
2380         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
2381         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
2382         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
2383         (WebCore::ShadowBlur::drawRectShadowWithTiling):
2384         (WebCore::ShadowBlur::drawLayerPieces):
2385         * platform/graphics/ShadowBlur.h:
2386         * platform/graphics/cg/GraphicsContextCG.cpp:
2387         (WebCore::GraphicsContext::fillRect):
2388         (WebCore::GraphicsContext::fillRoundedRect):
2389         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2390         * rendering/RenderBox.cpp:
2391         (WebCore::RenderBox::paintBoxDecorations):
2392         * rendering/RenderBoxModelObject.cpp:
2393         (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
2394         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2395         (WebCore::RenderBoxModelObject::paintOneBorderSide):
2396         (WebCore::RenderBoxModelObject::paintBorderSides):
2397         (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
2398         (WebCore::RenderBoxModelObject::paintBorder):
2399         (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
2400         (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
2401         (WebCore::RenderBoxModelObject::paintBoxShadow):
2402         * rendering/RenderBoxModelObject.h:
2403         * rendering/RenderThemeMac.mm:
2404         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2405         (WebCore::RenderThemeMac::paintSliderTrack):
2406         * rendering/style/RenderStyle.cpp:
2407         (WebCore::calcRadiiFor):
2408         (WebCore::calcConstraintScaleFor):
2409         (WebCore::RenderStyle::getRoundedBorderFor):
2410         (WebCore::RenderStyle::getRoundedInnerBorderFor):
2411         * rendering/style/RenderStyle.h:
2412
2413 2011-07-12  Mike Reed  <reed@google.com>
2414
2415         [skia] optimize getImageData to avoid a copy when not needed. lockPixels() now does the right thing.
2416         https://bugs.webkit.org/show_bug.cgi?id=64302
2417
2418         Reviewed by Stephen White.
2419
2420         No new tests. Just an optimization for getImageData(), existing <canvas> tests apply
2421
2422         * platform/graphics/skia/ImageBufferSkia.cpp:
2423         (WebCore::getImageData):
2424         (WebCore::putImageData):
2425
2426 2011-07-12  Pavel Feldman  <pfeldman@google.com>
2427
2428         Web Inspector: introduce UserMetrics for collecting stats in Chromium port.
2429         https://bugs.webkit.org/show_bug.cgi?id=64350
2430
2431         Reviewed by Yury Semikhatsky.
2432
2433         Test: inspector/user-metrics.html
2434
2435         * WebCore.gypi:
2436         * WebCore.vcproj/WebCore.vcproj:
2437         * bindings/js/JSInspectorFrontendHostCustom.cpp:
2438         (WebCore::JSInspectorFrontendHost::recordActionTaken):
2439         (WebCore::JSInspectorFrontendHost::recordPanelShown):
2440         (WebCore::JSInspectorFrontendHost::recordSettingChanged):
2441         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
2442         (WebCore::histogramEnumeration):
2443         (WebCore::V8InspectorFrontendHost::recordActionTakenCallback):
2444         (WebCore::V8InspectorFrontendHost::recordPanelShownCallback):
2445         (WebCore::V8InspectorFrontendHost::recordSettingChangedCallback):
2446         * inspector/InspectorFrontendHost.idl:
2447         * inspector/front-end/AuditsPanel.js:
2448         (WebInspector.AuditsPanel.prototype.initiateAudit):
2449         * inspector/front-end/ConsoleView.js:
2450         * inspector/front-end/DebuggerModel.js:
2451         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2452         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2453         * inspector/front-end/InspectorFrontendHostStub.js:
2454         (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
2455         (.WebInspector.InspectorFrontendHostStub.prototype.recordActionTaken):
2456         (.WebInspector.InspectorFrontendHostStub.prototype.recordPanelShown):
2457         (.WebInspector.InspectorFrontendHostStub.prototype.recordSettingChanged):
2458         * inspector/front-end/ProfilesPanel.js:
2459         (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
2460         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2461         * inspector/front-end/TimelinePanel.js:
2462         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
2463         * inspector/front-end/UserMetrics.js: Added.
2464         (WebInspector.UserMetrics.settingChanged):
2465         (WebInspector.UserMetrics):
2466         (WebInspector.UserMetrics.prototype.panelShown):
2467         (WebInspector.UserMetrics._Recorder):
2468         (WebInspector.UserMetrics._Recorder.prototype.record):
2469         * inspector/front-end/WebKit.qrc:
2470         * inspector/front-end/inspector.html:
2471         * inspector/front-end/inspector.js:
2472         (WebInspector._toggleAttach):
2473
2474 2011-07-12  Pratik Solanki  <psolanki@apple.com>
2475
2476         Reviewed by David Kilzer.
2477
2478         Add NSURLResponse wrapper in ResourceResponse when USE(CFNETWORK) is enabled
2479         https://bugs.webkit.org/show_bug.cgi?id=63286
2480
2481         When USE(CFNETWORK) is enabled on Mac, keep an NSURLResponse object along with the
2482         CFURLResponseRef so that WebKit can continue using the NSURLResponse.
2483
2484         No new tests because no change in functionality and option is not enabled on Mac.
2485
2486         * platform/network/cf/ResourceResponse.h:
2487         (WebCore::ResourceResponse::ResourceResponse):
2488         * platform/network/mac/ResourceResponseMac.mm:
2489         (WebCore::ResourceResponse::initNSURLResponse):
2490         (WebCore::ResourceResponse::nsURLResponse):
2491         (WebCore::ResourceResponse::ResourceResponse):
2492
2493 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2494
2495         Web Inspector: Cancelling an empty edit fails.
2496         https://bugs.webkit.org/show_bug.cgi?id=64351
2497
2498         Reviewed by Pavel Feldman.
2499
2500         * inspector/front-end/ResourceView.js:
2501         (WebInspector.EditableResourceSourceFrame.prototype.cancelEditing):
2502
2503 2011-07-12  Pavel Podivilov  <podivilov@chromium.org>
2504
2505         Web Inspector: make TextViewerDelegate methods implementations public in SourceFrame.
2506         https://bugs.webkit.org/show_bug.cgi?id=64353
2507
2508         Reviewed by Pavel Feldman.
2509
2510         * inspector/front-end/SourceFrame.js:
2511         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2512         (WebInspector.SourceFrame.prototype.afterTextChanged):
2513         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
2514         (WebInspector.SourceFrame.prototype.suggestedFileName):
2515         (WebInspector.SourceFrame.prototype.doubleClick):
2516         (WebInspector.SourceFrame.prototype.cancelEditing):
2517         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
2518         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
2519         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
2520         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
2521         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
2522         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
2523         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
2524         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
2525
2526 2011-07-12  Andrey Kosyakov  <caseq@chromium.org>
2527
2528         Web Inspector: remove more dead code from the Network panel
2529         https://bugs.webkit.org/show_bug.cgi?id=64291
2530
2531         Reviewed by Pavel Feldman.
2532
2533         * inspector/front-end/NetworkPanel.js:
2534         (WebInspector.NetworkPanel.prototype._toggleGridMode):
2535         (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
2536         * inspector/front-end/networkPanel.css:
2537
2538 2011-07-12  Adam Roben  <aroben@apple.com>
2539
2540         Unreviewed, rolling out r90811.
2541         http://trac.webkit.org/changeset/90811
2542         https://bugs.webkit.org/show_bug.cgi?id=61025
2543
2544         Several svg tests failing assertions beneath
2545         SVGSMILElement::findInstanceTime
2546
2547         * svg/animation/SVGSMILElement.cpp:
2548         (WebCore::SVGSMILElement::findInstanceTime):
2549
2550 2011-07-12  Oliver Varga  <Varga.Oliver@stud.u-szeged.hu>
2551
2552         Reviewed by Nikolas Zimmermann.
2553
2554         Speed up SVGSMILElement::findInstanceTime.
2555         https://bugs.webkit.org/show_bug.cgi?id=61025
2556
2557         Replace the linear search to binary search on ordered list because
2558         the previous searches from the beginning was not efficient.
2559         Out of index error fixed by Renata Hodovan.
2560
2561         No new tests this is only a performance tweak.
2562
2563         * svg/animation/SVGSMILElement.cpp:
2564         (WebCore::extractTimeFromVector):
2565         (WebCore::SVGSMILElement::findInstanceTime):
2566
2567 2011-07-11  Zeng Huiqing  <huiqing.zeng@intel.com>
2568
2569         Optimize HTMLInputElement::updateCheckedRadioButtons
2570         https://bugs.webkit.org/show_bug.cgi?id=62840
2571
2572         Reviewed by Kent Tamura.
2573
2574         No new tests.
2575
2576         * dom/Document.h:
2577         (WebCore::Document::getFormElements):
2578         * html/HTMLInputElement.cpp:
2579         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
2580         (WebCore::HTMLInputElement::setChecked):
2581
2582 2011-07-11  Pratik Solanki  <psolanki@apple.com>
2583
2584         Reviewed by David Kilzer.
2585
2586         Add NSURLRequest wrapper in ResourceRequest when USE(CFNETWORK) is enabled
2587         https://bugs.webkit.org/show_bug.cgi?id=63276
2588
2589         When USE(CFNETWORK) is enabled on Mac, keep an NSURLRequest object along with the
2590         CFURLRequestRef so that WebKit can continue using the NSURLRequest.
2591
2592         No new tests because no change in functionality and option is not enabled on Mac.
2593
2594         * platform/network/cf/ResourceRequest.h:
2595         (WebCore::ResourceRequest::updateNSURLRequest):
2596         (WebCore::ResourceRequest::ResourceRequest):
2597         * platform/network/cf/ResourceRequestCFNet.cpp:
2598         (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
2599         (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
2600         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2601         (WebCore::ResourceRequest::applyWebArchiveHackForMail):
2602         * platform/network/mac/ResourceRequestMac.mm:
2603         (WebCore::ResourceRequest::nsURLRequest):
2604         (WebCore::ResourceRequest::ResourceRequest):
2605         (WebCore::ResourceRequest::updateNSURLRequest):
2606
2607 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
2608
2609         positionForPoint is broken when a block is positioned relatively inside the parent
2610         https://bugs.webkit.org/show_bug.cgi?id=64298
2611
2612         Reviewed by Simon Fraser.
2613
2614         The bug was caused by positionForPointRespectingEditingBoundaries's not taking relativePositionOffset
2615         into account when computing the point in child coordinates. Fixed the bug by adding the offset to
2616         childLocation as needed.
2617
2618         Test: fast/block/positioning/hittest-on-relative-positioned-children.html
2619
2620         * rendering/RenderBlock.cpp:
2621         (WebCore::positionForPointRespectingEditingBoundaries): Fixed the bug; also replaced all instances of
2622         IntPoint by LayoutPoint.
2623
2624 2011-07-11  Dan Bernstein  <mitz@apple.com>
2625
2626         Excessive expansion of justified text when rounding hacks are enabled
2627         https://bugs.webkit.org/show_bug.cgi?id=64331
2628
2629         Reviewed by Anders Carlsson.
2630
2631         Test: platform/mac/fast/text/rounding-hacks-expansion.html
2632
2633         When rounding hacks are enabled, the expansion at each expansion opportunity should be by an
2634         integer. Restored more of the logic that was removed in r78846 in order to ensure this.
2635
2636         * platform/graphics/WidthIterator.cpp:
2637         (WebCore::WidthIterator::advance):
2638         * platform/graphics/mac/ComplexTextController.cpp:
2639         (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
2640
2641 2011-07-11  Jer Noble  <jer.noble@apple.com>
2642
2643         HTML5 video controller in fullscreen is partly off-screen (at least on youtube) using ClickToFlash
2644         https://bugs.webkit.org/show_bug.cgi?id=64327
2645
2646         Reviewed by Darin Adler.
2647
2648         No new tests; no change in functionality, so covered by existing tests.
2649
2650         Make the rules from fullscreenQuickTime.css !important so they are not overridden
2651         by page authors.
2652
2653         * css/fullscreenQuickTime.css:
2654         (video:-webkit-full-screen::-webkit-media-controls-panel):
2655
2656 2011-07-11  Levi Weintraub  <leviw@chromium.org>
2657
2658         Switch lineTop and lineBottom to new layout types
2659         https://bugs.webkit.org/show_bug.cgi?id=64317
2660
2661         Reviewed by Eric Seidel.
2662
2663         Changing lineTop and lineBottom to LayoutUnits and preparing all uses
2664         of them for the upcoming conversion.
2665
2666         No new tests, no new functionality.
2667
2668         * rendering/EllipsisBox.cpp:
2669         (WebCore::EllipsisBox::nodeAtPoint):
2670         * rendering/EllipsisBox.h:
2671         * rendering/GapRects.h:
2672         (WebCore::GapRects::left):
2673         (WebCore::GapRects::center):
2674         (WebCore::GapRects::right):
2675         (WebCore::GapRects::uniteLeft):
2676         (WebCore::GapRects::uniteCenter):
2677         (WebCore::GapRects::uniteRight):
2678         (WebCore::GapRects::operator LayoutRect):
2679         * rendering/InlineBox.cpp:
2680         (WebCore::InlineBox::nodeAtPoint):
2681         * rendering/InlineBox.h:
2682         * rendering/InlineFlowBox.cpp:
2683         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
2684         (WebCore::InlineFlowBox::flipLinesInBlockDirection):
2685         (WebCore::InlineFlowBox::computeOverflow):
2686         (WebCore::InlineFlowBox::setLayoutOverflow):
2687         (WebCore::InlineFlowBox::setVisualOverflow):
2688         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
2689         (WebCore::InlineFlowBox::nodeAtPoint):
2690         * rendering/InlineFlowBox.h:
2691         (WebCore::InlineFlowBox::layoutOverflowRect):
2692         (WebCore::InlineFlowBox::visualOverflowRect):
2693         * rendering/InlineTextBox.cpp:
2694         (WebCore::InlineTextBox::nodeAtPoint):
2695         * rendering/RenderLineBoxList.cpp:
2696         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2697         * rendering/RenderLineBoxList.h:
2698         * rendering/RenderListItem.cpp:
2699         (WebCore::RenderListItem::positionListMarker):
2700         * rendering/RenderTextControl.h:
2701         * rendering/RenderTextControlMultiLine.cpp:
2702         (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
2703         * rendering/RenderTextControlSingleLine.cpp:
2704         (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
2705         * rendering/RenderTextControlSingleLine.h:
2706         * rendering/RootInlineBox.cpp:
2707         (WebCore::RootInlineBox::nodeAtPoint):
2708         * rendering/RootInlineBox.h:
2709         (WebCore::RootInlineBox::lineTop):
2710         (WebCore::RootInlineBox::lineBottom):
2711         (WebCore::RootInlineBox::setLineTopBottomPositions):
2712         (WebCore::RootInlineBox::logicalTopVisualOverflow):
2713         (WebCore::RootInlineBox::logicalBottomVisualOverflow):
2714         (WebCore::RootInlineBox::logicalTopLayoutOverflow):
2715         (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
2716         * rendering/svg/SVGInlineFlowBox.h:
2717         * rendering/svg/SVGInlineTextBox.cpp:
2718         (WebCore::SVGInlineTextBox::nodeAtPoint):
2719         * rendering/svg/SVGInlineTextBox.h:
2720         * rendering/svg/SVGRootInlineBox.h:
2721
2722 2011-07-11  Martin Robinson  <mrobinson@igalia.com>
2723
2724         Reviewed by Daniel Bates.
2725
2726         [GTK] Transition to Mozilla named cursors have incorrect hotspot and rendering
2727         https://bugs.webkit.org/show_bug.cgi?id=62752
2728
2729         Instead of offsetting the cursor blit by the hotspot, just pass the hotspot
2730         arguments to the GdkCursor constructor.
2731
2732         No new tests. This is covered by manual-tests/cursor.html.
2733
2734         * platform/gtk/CursorGtk.cpp:
2735         (WebCore::createNamedCursor):
2736
2737 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
2738
2739         [Qt] Unreviewed rollout 90779 which may fail the layout-test.
2740
2741         * platform/network/qt/QNetworkReplyHandler.cpp:
2742         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
2743         * platform/network/qt/QNetworkReplyHandler.h:
2744
2745 2011-07-11  Bradley Nelson  <bradnelson@chromium.org>
2746
2747         Reviewed by Darin Fisher.
2748
2749         Split webcore_dom off webcore_remaining to reduce its size for
2750         whole program optimization builds.
2751
2752         https://bugs.webkit.org/show_bug.cgi?id=64299
2753
2754         * WebCore.gyp/WebCore.gyp:
2755
2756 2011-07-11  Yi Shen  <yi.4.shen@nokia.com>
2757
2758         [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
2759         https://bugs.webkit.org/show_bug.cgi?id=62808
2760
2761         Reviewed by Benjamin Poulain.
2762
2763         The assertion in ResourceHandle::setDefersLoading assumes asynchronous
2764         content delivery -- To resume a page, first, its main resource loader
2765         calls setDefersLoading to resume loading the main content; then all the
2766         sub-resource loaders calls setDefersLoading to resume sub-contents.
2767         However, since QNetworkReplyHandler delivers content synchronously,
2768         some new sub-resource loaders get created as soon as the main resource
2769         loader resumed, and all these new sub-resource loaders set their
2770         defersLoading flag to false. Then, the assertion fails for these new
2771         sub-resource loaders when calling setDefersLoading on them. As a fix,
2772         this path makes QNetworkReplyHandler deliver content asynchronously.
2773
2774         Test: loader/load-defer-resume-crash.html
2775
2776         * platform/network/qt/QNetworkReplyHandler.cpp:
2777         (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
2778         * platform/network/qt/QNetworkReplyHandler.h:
2779
2780 2011-07-08  Ryosuke Niwa  <rniwa@webkit.org>
2781
2782         Move innerTextElement() from RenderTextControl to HTMLTextFormControlElement
2783         https://bugs.webkit.org/show_bug.cgi?id=64134
2784
2785         Reviewed by Kent Tamura.
2786
2787         Moved innerTextElement from RenderTextControl to HTMLTextFormControlElement. It is implemented by
2788         HTMLInputElement and HTMLTextAreaElement instead of RenderTextControlSingleLine and
2789         RenderTextControlMultiLine.
2790
2791         This refactoring removes the indirection through RenderTextControl and makes the ownership of
2792         shadow DOM for input and textarea elements clear. Accessing the shadow DOM of input and textarea elements
2793         are now less error prone because it no longer depends on the lifetime of the render tree.
2794
2795         * accessibility/AccessibilityRenderObject.cpp:
2796         (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Access innerTextElement via
2797         HTMLTextFormControlElement.
2798         * dom/Node.cpp:
2799         (WebCore::traverseTreeAndMark): No longer calls innerTextElement because this was a work-around
2800         needed before making input and textarea elements use the new shadow DOM model.
2801         * editing/TextIterator.cpp:
2802         (WebCore::TextIterator::handleReplacedElement): Access innerTextElement via HTMLTextFormControlElement.
2803         * html/HTMLFormControlElement.cpp:
2804         (WebCore::hasVisibleTextArea): Takes innerTextElement.
2805         (WebCore::HTMLTextFormControlElement::setSelectionRange): Calls innerTextElement().
2806         (WebCore::HTMLTextFormControlElement::selection): Ditto.
2807         (WebCore::HTMLTextFormControlElement::selectionStart): Ditto; no longer uses a temporary local variable
2808         for innerTextElement because innerTextElement() no longer depends on the lifetime of the render tree.
2809         (WebCore::HTMLTextFormControlElement::selectionEnd): Ditto.
2810         * html/HTMLFormControlElement.h:
2811         * html/HTMLTextAreaElement.cpp:
2812         (WebCore::HTMLTextAreaElement::innerTextElement): Added.
2813         * html/HTMLTextAreaElement.h:
2814         * rendering/RenderTextControl.cpp:
2815         (WebCore::RenderTextControl::textFormControlElement): Made this function a const member.
2816         (WebCore::RenderTextControl::innerTextElement): Added.
2817         * rendering/RenderTextControl.h:
2818         * rendering/RenderTextControlMultiLine.cpp:
2819         * rendering/RenderTextControlMultiLine.h:
2820         * rendering/RenderTextControlSingleLine.cpp:
2821         * rendering/RenderTextControlSingleLine.h:
2822
2823 2011-07-11  Tony Chang  <tony@chromium.org>
2824
2825         rename RenderObject::isFlexibleBox to isDeprecatedFlexibleBox
2826         https://bugs.webkit.org/show_bug.cgi?id=64217
2827
2828         Reviewed by Ojan Vafai.
2829
2830         This is to make way for the new flexbox needing a similar method.
2831         RenderObject also has isFlexingChildren() and isStretchingChildren(),
2832         but we may be able to use those for the new flexbox as well so I
2833         didn't rename them.
2834
2835         No new tests, just refactoring.
2836
2837         * rendering/RenderBlock.cpp:
2838         (WebCore::RenderBlock::removeChild):
2839         (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2840         (WebCore::shouldCheckLines):
2841         * rendering/RenderBox.cpp:
2842         (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
2843         (WebCore::RenderBox::computeLogicalWidth):
2844         (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
2845         (WebCore::RenderBox::computeLogicalHeight):
2846         * rendering/RenderDeprecatedFlexibleBox.cpp:
2847         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2848         * rendering/RenderDeprecatedFlexibleBox.h:
2849         (WebCore::RenderDeprecatedFlexibleBox::isDeprecatedFlexibleBox):
2850         * rendering/RenderObject.h:
2851         (WebCore::RenderObject::isDeprecatedFlexibleBox):
2852
2853 2011-07-11  Nate Chapin  <japhet@chromium.org>
2854
2855         [Chromium] Ensure we don't crash when an
2856         HTMLSelectElement mouse release event removes
2857         the element from the DOM.
2858         https://bugs.webkit.org/show_bug.cgi?id=64295
2859
2860         Reviewed by Dimitri Glazkov.
2861
2862         Manual test only because the crash requires a
2863         real popup menu, which DRT doesn't provide.
2864
2865         * manual-tests/chromium/popup-menu-crash.html: Added.
2866         * platform/chromium/PopupMenuChromium.cpp:
2867         (WebCore::PopupContainer::handleMouseReleaseEvent):
2868
2869 2011-07-11  Mike Reed  <reed@google.com>
2870
2871         [skia] remove platform helpers for gradients and patterns
2872         https://bugs.webkit.org/show_bug.cgi?id=64281
2873
2874         Reviewed by Stephen White.
2875
2876         No new tests. fixes canvas/philip/tests/2d.gradient.object.update.html
2877
2878         Remove (now empty) platform helpers for fill/stroke gradients/patterns. We now pickup the platformGradient
2879         and platformPattern fresh when they're needed, so we can see any edits that have occurred to them
2880         2d.gradient.object.update.html sets the fillgradient, and then edits the gradient object. This CL allows
2881         us to see that edit.
2882
2883         * platform/graphics/GraphicsContext.cpp:
2884         (WebCore::GraphicsContext::setStrokePattern):
2885         (WebCore::GraphicsContext::setFillPattern):
2886         (WebCore::GraphicsContext::setStrokeGradient):
2887         (WebCore::GraphicsContext::setFillGradient):
2888         * platform/graphics/GraphicsContext.h:
2889         * platform/graphics/skia/GraphicsContextSkia.cpp:
2890         (WebCore::GraphicsContext::platformInit):
2891         * platform/graphics/skia/PlatformContextSkia.cpp:
2892         (WebCore::PlatformContextSkia::State::State):
2893         (WebCore::PlatformContextSkia::State::~State):
2894         (WebCore::PlatformContextSkia::PlatformContextSkia):
2895         (WebCore::PlatformContextSkia::drawRect):
2896         (WebCore::PlatformContextSkia::setupShader):
2897         (WebCore::PlatformContextSkia::setupPaintForFilling):
2898         (WebCore::PlatformContextSkia::setupPaintForStroking):
2899         (WebCore::PlatformContextSkia::setFillColor):
2900         (WebCore::PlatformContextSkia::setStrokeColor):
2901         (WebCore::PlatformContextSkia::canAccelerate):
2902         * platform/graphics/skia/PlatformContextSkia.h:
2903         (WebCore::PlatformContextSkia::setGraphicsContext):
2904
2905 2011-07-11  Young Han Lee  <joybro@company100.net>
2906
2907         Reviewed by Simon Fraser.
2908
2909         Transition LayoutTest using pause API shows wrong result if it tries to pause a transition after its delay time.
2910         https://bugs.webkit.org/show_bug.cgi?id=63859
2911
2912         The existing code to set the m_startTime haven't worked because 
2913         the animation is not the right state to accept the start event. 
2914         This patch just sets the values directly instead of using event.
2915
2916         Test: transitions/delay.html
2917
2918         * page/animation/AnimationBase.cpp:
2919         (WebCore::AnimationBase::freezeAtTime):
2920
2921 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
2922
2923         Move selection related code from RenderTextControl to HTMLTextFormControlElement
2924         https://bugs.webkit.org/show_bug.cgi?id=64133
2925
2926         Reviewed by Dimitri Glazkov.
2927
2928         Moved selectionStart, selectionEnd, hasVisibleTextArea, setSelectionRange, setContainerAndOffsetForRange
2929         and selection from RenderTextControl.cpp to HTMLFormControlElement.cpp.
2930
2931         This refactoring removes RenderTextControl's dependency on FrameSelection.
2932
2933         * accessibility/AccessibilityRenderObject.cpp:
2934         (WebCore::AccessibilityRenderObject::selectedText): Calls HTMLTextFromControl::selectedText.
2935         (WebCore::AccessibilityRenderObject::selectedTextRange): Calls selectionStart and selectionEnd.
2936         (WebCore::AccessibilityRenderObject::setSelectedTextRange): Ditto.
2937         * html/HTMLFormControlElement.cpp:
2938         (WebCore::HTMLTextFormControlElement::selectedText): Extracted from AccessibilityRenderObject::selectedText.
2939         (WebCore::hasVisibleTextArea): Added.
2940         (WebCore::HTMLTextFormControlElement::setSelectionRange): Merged with the function of the same name in RenderTextControl.
2941         (WebCore::HTMLTextFormControlElement::selectionStart): Calls computeSelectionStart instead of RenderTextControl::selectionStart.
2942         (WebCore::HTMLTextFormControlElement::computeSelectionStart): Moved from RenderTextControl::selectionStart.
2943         (WebCore::HTMLTextFormControlElement::selectionEnd): Calls computeSelectionEnd instead of RenderText::selectionEnd.
2944         (WebCore::HTMLTextFormControlElement::computeSelectionEnd): Moved from RenderTextControl::selectionStart.
2945         (WebCore::setContainerAndOffsetForRange): Moved from RenderTextControl.cpp.
2946         (WebCore::HTMLTextFormControlElement::selection): Merged with the function of the same name in RenderTextControl.
2947         (WebCore::HTMLTextFormControlElement::restoreCachedSelection): Calls computeSelectionStart and computeSelectionEnd instead of
2948         RenderTextControl::selectionStart and RenderTextControl::selectionEnd.
2949         (WebCore::HTMLTextFormControlElement::selectionChanged): Calls selectionStart and selectionEnd.
2950         * html/HTMLFormControlElement.h:
2951         * html/HTMLInputElement.cpp:
2952         (WebCore::HTMLInputElement::setValue): Calls setSelectionRange.
2953         * rendering/RenderTextControl.cpp:
2954         (WebCore::RenderTextControl::textFormControlElement): Added.
2955         * rendering/RenderTextControl.h:
2956
2957 2011-07-11  Andreas Kling  <kling@webkit.org>
2958
2959         Reviewed by Oliver Hunt.
2960
2961         Canvas: Use fast, approximate dirty rects for stroke()
2962         https://bugs.webkit.org/show_bug.cgi?id=59764
2963
2964         No new tests, this is an optimization.
2965
2966         * html/canvas/CanvasRenderingContext2D.cpp:
2967         (WebCore::CanvasRenderingContext2D::stroke): Instead of using
2968         Path::strokeBoundingRect() to calculate the exact bounding rect
2969         for a path stroke, get the Path::boundingRect() and inflate it by
2970         miterLimit + lineWidth to get a slightly oversized dirty rect
2971         in a fraction of the time.
2972
2973 2011-07-11  Andrey Kosyakov  <caseq@chromium.org>
2974
2975         Reviewed by Pavel Feldman.
2976
2977         Web Inspector: [refactoring] Remove dependencies of components requiring network resource list from network panel
2978         https://bugs.webkit.org/show_bug.cgi?id=62477
2979
2980         * inspector/front-end/AuditsPanel.js:
2981         * inspector/front-end/ExtensionServer.js:
2982         (WebInspector.ExtensionServer):
2983         (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
2984         (WebInspector.ExtensionServer.prototype._onGetHAR):
2985         (WebInspector.ExtensionServer.prototype.initExtensions):
2986         * inspector/front-end/HAREntry.js:
2987         (WebInspector.HARLog):
2988         (WebInspector.HARLog.prototype.build):
2989         * inspector/front-end/NetworkManager.js:
2990         (WebInspector.NetworkLog):
2991         (WebInspector.NetworkLog.prototype.get resources):
2992         (WebInspector.NetworkLog.prototype._onInspectedURLChanged):
2993         (WebInspector.NetworkLog.prototype._onResourceStarted):
2994         * inspector/front-end/NetworkPanel.js:
2995         (WebInspector.NetworkPanel.prototype._reset):
2996         (WebInspector.NetworkPanel.prototype._copyAll):
2997         (WebInspector.NetworkPanel.prototype._exportAll):
2998         * inspector/front-end/inspector.js:
2999         (WebInspector.reset):
3000
3001 2011-07-11  Pavel Podivilov  <podivilov@chromium.org>
3002
3003         Web Inspector: make SourceFrame a View.
3004         https://bugs.webkit.org/show_bug.cgi?id=64274
3005
3006         Reviewed by Pavel Feldman.
3007
3008         * inspector/front-end/SourceFrame.js:
3009         (WebInspector.SourceFrame):
3010         (WebInspector.SourceFrame.createSearchRegex):
3011         (WebInspector.SourceFrame.prototype.show):
3012         (WebInspector.SourceFrame.prototype.hide):
3013         (WebInspector.SourceFrame.prototype._beforeTextChanged):
3014         (WebInspector.SourceFrame.prototype._afterTextChanged):
3015         (WebInspector.SourceFrame.prototype._initializeTextViewer):
3016         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
3017         (WebInspector.SourceFrame.prototype.performSearch):
3018         (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
3019         (WebInspector.SourceFrame.prototype._suggestedFileName):
3020         (WebInspector.SourceFrame.prototype._doubleClick):
3021         (WebInspector.SourceFrame.prototype._cancelEditing):
3022         (WebInspector.TextViewerDelegateForSourceFrame):
3023         (WebInspector.TextViewerDelegateForSourceFrame.prototype.doubleClick):
3024         (WebInspector.TextViewerDelegateForSourceFrame.prototype.beforeTextChanged):
3025         (WebInspector.TextViewerDelegateForSourceFrame.prototype.afterTextChanged):
3026         (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
3027         (WebInspector.TextViewerDelegateForSourceFrame.prototype.cancelEditing):
3028         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
3029         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
3030         (WebInspector.TextViewerDelegateForSourceFrame.prototype.suggestedFileName):
3031         * inspector/front-end/TextViewer.js:
3032         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
3033
3034 2011-07-11  Noel Gordon  <noel.gordon@gmail.com>
3035
3036         Reviewed by Adam Roben.
3037
3038         Forward focus events to windowless plugins on the windows port.
3039         https://bugs.webkit.org/show_bug.cgi?id=62375
3040
3041         * plugins/win/PluginViewWin.cpp:
3042         (WebCore::PluginView::setFocus): Forward focus events if the plugin is windowless.
3043
3044 2011-07-11  Shinya Kawanaka  <shinyak@google.com>
3045
3046         Added accessibility notification when value is changed.
3047         https://bugs.webkit.org/show_bug.cgi?id=64256
3048
3049         Notifies the value change of range input when accessibility is enabled.
3050
3051         Reviewed by Kent Tamura.
3052
3053         Covered by existing tests.
3054
3055         * html/RangeInputType.cpp:
3056         (WebCore::RangeInputType::handleKeydownEvent):
3057           Added accessibility notification when value is changed.
3058
3059 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
3060
3061         Web Inspector: Fix resizing of sidebar pane in Timeline and Profile panels.
3062         https://bugs.webkit.org/show_bug.cgi?id=64161
3063
3064         Reviewed by Pavel Feldman.
3065
3066         * inspector/front-end/ProfilesPanel.js:
3067         (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
3068         * inspector/front-end/TimelineOverviewPane.js:
3069         (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
3070
3071 2011-07-11  Pavel Feldman  <pfeldman@google.com>
3072
3073         Web Inspector: [REGRESSION r89753-89754] highlight does not respect scroller location.
3074         https://bugs.webkit.org/show_bug.cgi?id=63982
3075
3076         Rolling out 89760, 89756, 89754, 89753 for breaking inspector highlight.
3077
3078         Reviewed by Yury Semikhatsky.
3079
3080         * WebCore.exp.in:
3081         * inspector/DOMNodeHighlighter.cpp:
3082         (WebCore::DOMNodeHighlighter::drawNodeHighlight):
3083         * page/FrameView.cpp:
3084         * page/FrameView.h:
3085         * platform/ScrollView.h:
3086         * platform/Widget.cpp:
3087         * platform/Widget.h:
3088         * rendering/RenderBox.cpp:
3089         (WebCore::RenderBox::mapLocalToContainer):
3090         * rendering/RenderBox.h:
3091         * rendering/RenderInline.cpp:
3092         (WebCore::RenderInline::mapLocalToContainer):
3093         * rendering/RenderInline.h:
3094         * rendering/RenderObject.cpp:
3095         (WebCore::RenderObject::mapLocalToContainer):
3096         (WebCore::RenderObject::localToContainerQuad):
3097         * rendering/RenderObject.h:
3098         (WebCore::RenderObject::localToAbsoluteQuad):
3099         * rendering/RenderView.cpp:
3100         (WebCore::RenderView::mapLocalToContainer):
3101         * rendering/RenderView.h:
3102         * rendering/svg/RenderSVGForeignObject.cpp:
3103         (WebCore::RenderSVGForeignObject::mapLocalToContainer):
3104         * rendering/svg/RenderSVGForeignObject.h:
3105         * rendering/svg/RenderSVGInline.cpp:
3106         (WebCore::RenderSVGInline::mapLocalToContainer):
3107         * rendering/svg/RenderSVGInline.h:
3108         * rendering/svg/RenderSVGModelObject.cpp:
3109         (WebCore::RenderSVGModelObject::mapLocalToContainer):
3110         * rendering/svg/RenderSVGModelObject.h:
3111         * rendering/svg/RenderSVGRoot.cpp:
3112         (WebCore::RenderSVGRoot::mapLocalToContainer):
3113         * rendering/svg/RenderSVGRoot.h:
3114         * rendering/svg/RenderSVGText.cpp:
3115         (WebCore::RenderSVGText::mapLocalToContainer):
3116         * rendering/svg/RenderSVGText.h:
3117         * rendering/svg/SVGRenderSupport.cpp:
3118         (WebCore::SVGRenderSupport::mapLocalToContainer):
3119         * rendering/svg/SVGRenderSupport.h:
3120
3121 2011-07-11  Mustafizur Rahaman  <mustaf.here@gmail.com>
3122
3123         Reviewed by James Robinson.
3124
3125         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.fill.destination-atop.html
3126         https://bugs.webkit.org/show_bug.cgi?id=48292
3127         
3128         and
3129         
3130         Fix LayoutTests/canvas/philip/tests/2d.composite.uncovered.pattern.destination-atop.html
3131         https://bugs.webkit.org/show_bug.cgi?id=48302
3132
3133         * html/canvas/CanvasRenderingContext2D.cpp:
3134         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere): Added CompositeDestinationAtop 
3135         to draw transparency elsewhere for destination-atop
3136
3137 2011-07-08  Mikhail Naganov  <mnaganov@chromium.org>
3138
3139         Web Inspector: [Chromium] Get rid of flickering "Please wait" message in Heap profiler.
3140         https://bugs.webkit.org/show_bug.cgi?id=61175
3141
3142         The message has been replaced with spinner icons appearing instead of profile's
3143         icon. As each profile owns a worker, they run independently, and there can be
3144         multiple spinners at the same time.
3145
3146         Reviewed by Pavel Feldman.
3147
3148         * WebCore.gypi:
3149         * WebCore.vcproj/WebCore.vcproj:
3150         * inspector/front-end/DetailedHeapshotGridNodes.js:
3151         (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
3152         (WebInspector.HeapSnapshotGridNode.prototype._populate):
3153         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
3154         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
3155         * inspector/front-end/DetailedHeapshotView.js:
3156         (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
3157         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
3158         (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
3159         (WebInspector.DetailedHeapshotView.profileCallback):
3160         (WebInspector.DetailedHeapshotView):
3161         (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
3162         (WebInspector.DetailedHeapshotView.prototype._changeBase):
3163         (WebInspector.DetailedHeapshotView.prototype.processLoadedSnapshot):
3164         (WebInspector.DetailedHeapshotView.prototype._changeView):
3165         * inspector/front-end/HeapSnapshotProxy.js:
3166         (WebInspector.HeapSnapshotWorker):
3167         (WebInspector.HeapSnapshotWorker.prototype.dispose):
3168         (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
3169         (WebInspector.HeapSnapshotWorker.prototype._checkLongRunningCalls):
3170         (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
3171         (WebInspector.HeapSnapshotProxyObject.prototype.get worker):
3172         * inspector/front-end/Images/spinnerActive.gif: Added. Generated using ajaxload.info.
3173         * inspector/front-end/Images/spinnerActiveSelected.gif: Added. Generated using ajaxload.info.
3174         * inspector/front-end/Images/spinnerInactive.gif: Added. Generated using ajaxload.info.
3175         * inspector/front-end/Images/spinnerInactiveSelected.gif: Added. Generated using ajaxload.info.
3176         * inspector/front-end/PleaseWaitMessage.js: Removed.
3177         * inspector/front-end/ProfilesPanel.js:
3178         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
3179         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot.setProfileWait):
3180         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
3181         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
3182         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
3183         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
3184         * inspector/front-end/SidebarTreeElement.js:
3185         (WebInspector.SidebarTreeElement.prototype.set wait):
3186         * inspector/front-end/WebKit.qrc:
3187         * inspector/front-end/heapProfiler.css:
3188         (.heap-snapshot-sidebar-tree-item.wait .icon):
3189         (.heap-snapshot-sidebar-tree-item.wait.selected .icon):
3190         (body.inactive .heap-snapshot-sidebar-tree-item.wait .icon):
3191         (body.inactive .heap-snapshot-sidebar-tree-item.wait.selected .icon):
3192         * inspector/front-end/inspector.html:
3193
3194 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3195
3196         Generate conditional include statements in CodeGeneratorJS
3197         https://bugs.webkit.org/show_bug.cgi?id=64231
3198
3199         Reviewed by Brent Fulgham.
3200
3201         Suround headers with a correspondig #if ENABLE() line.
3202         This allows us to generate bindings only of required IDL files.
3203
3204         Changing the current preprocessor statements to the Conditional attribute
3205         in a next step helps in getting rid of calls to the preprocessor,
3206         which causes so much pain on a natvie Windows environment. 
3207
3208         * bindings/scripts/CodeGeneratorJS.pm:
3209         (GenerateImplementation):
3210         (WriteData):
3211
3212 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3213
3214         Remove array size from generated JSC binding tables
3215         https://bugs.webkit.org/show_bug.cgi?id=64229
3216
3217         Reviewed by Brent Fulgham.
3218
3219         Because many items in the array are surrounded with #if(ENABLE_XXX) lines,
3220         the array size isn't fix and correct in all cases.
3221         So let the compiler calculate the correct size itself.
3222
3223         * bindings/scripts/CodeGeneratorJS.pm:
3224         (GenerateHashTable):
3225         * bindings/scripts/test/JS/JSTestInterface.cpp:
3226         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3227         * bindings/scripts/test/JS/JSTestObj.cpp:
3228         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3229
3230 2011-07-10  Kenichi Ishibashi  <bashi@chromium.org>
3231
3232         Let plugins participate in form submission
3233         https://bugs.webkit.org/show_bug.cgi?id=13061
3234
3235         Implements HTMLObjectElement::appendFormData() so that object
3236         elements respond as form associated elements.
3237
3238         Reviewed by Anders Carlsson.
3239
3240         Test: plugins/form-value.html
3241
3242         * html/HTMLObjectElement.cpp:
3243         (WebCore::HTMLObjectElement::appendFormData): Implemented.
3244         * plugins/PluginViewBase.h:
3245         (WebCore::PluginViewBase::getFormValue): Added.
3246
3247 2011-07-10  Anders Carlsson  <andersca@apple.com>
3248
3249         WebKit2 is leaking NSCursors created by leakNamedCursor
3250         https://bugs.webkit.org/show_bug.cgi?id=64241
3251         <rdar://problem/9507151>
3252
3253         Reviewed by Oliver Hunt.
3254
3255         * platform/mac/CursorMac.mm:
3256         (WebCore::createNamedCursor):
3257         Rename this from leakNamedCursor to createNamedCursor and make it return a
3258         RetainPtr<NSCursor> instead of a raw pointer.
3259
3260         (WebCore::Cursor::ensurePlatformCursor):
3261         Don't leak cursors here. We still won't deallocate cursors during shutdown (which leakNamedCursor
3262         was said to prevent) because the cursor singletons are all allocated from the heap and are never destroyed
3263         anyway.
3264
3265 2011-07-10  Yuta Kitamura  <yutak@chromium.org>
3266
3267         WebSocket: Add useHixie76Protocol flag to WebSocketChannel and WebSocketHandshake
3268         https://bugs.webkit.org/show_bug.cgi?id=64244
3269
3270         Reviewed by Kent Tamura.
3271
3272         Get the value of Settings::useHixie76WebSocketProtocol() and save it in
3273         WebSocketChannel and WebSocketHandshake instances. Obtained flag value
3274         is not used for now.
3275
3276         No behavior change, thus no new tests.
3277
3278         * websockets/WebSocketChannel.cpp:
3279         (WebCore::WebSocketChannel::WebSocketChannel):
3280         WebSocketChannel is always created in context of Document (see
3281         ThreadableWebSocketChannel::create()).
3282         Because m_useHixie76Protocol must be passed to WebSocketHandshake
3283         constructor, WebSocketHandshake instance is allocated dynamically
3284         and stored in OwnPtr.
3285         (WebCore::WebSocketChannel::connect):
3286         (WebCore::WebSocketChannel::fail):
3287         (WebCore::WebSocketChannel::disconnect):
3288         (WebCore::WebSocketChannel::didOpen):
3289         (WebCore::WebSocketChannel::didFail):
3290         (WebCore::WebSocketChannel::processBuffer):
3291         * websockets/WebSocketChannel.h:
3292         * websockets/WebSocketHandshake.cpp:
3293         (WebCore::WebSocketHandshake::WebSocketHandshake):
3294         * websockets/WebSocketHandshake.h:
3295
3296 2011-07-10  Tom Hudson  <tomhudson@google.com>
3297
3298         Reviewed by James Robinson.
3299
3300         GraphicsContextSkia::drawConvexPolygon doesn't pay attention to shouldAntialias
3301         https://bugs.webkit.org/show_bug.cgi?id=61369
3302
3303         * platform/graphics/skia/GraphicsContextSkia.cpp:
3304         (WebCore::GraphicsContext::drawConvexPolygon): Pass the
3305         shouldAntialias parameter on to Skia.
3306
3307 2011-07-10  Yuzo Fujishima  <yuzo@google.com>
3308
3309         Fix for Bug 63968 - Add comment to explain Vector usage in FontCache::purgeInactiveFontData
3310         https://bugs.webkit.org/show_bug.cgi?id=63968
3311
3312         Reviewed by Dan Bernstein.
3313
3314         No new tests because this changes comments only.
3315
3316         * platform/graphics/FontCache.cpp:
3317         (WebCore::FontCache::purgeInactiveFontData): Add explanation why SimpleFontData is not deleted in the iteration loop.
3318
3319 2011-07-10  Emil A Eklund  <eae@chromium.org>
3320
3321         Switch updateHitTestResult to to new layout types
3322         https://bugs.webkit.org/show_bug.cgi?id=64209
3323
3324         Reviewed by Eric Seidel.
3325
3326         No new tests, no functionality changes.
3327
3328         * rendering/EllipsisBox.cpp:
3329         (WebCore::EllipsisBox::nodeAtPoint):
3330         * rendering/RenderBlock.cpp:
3331         (WebCore::RenderBlock::hitTestFloats):
3332         (WebCore::RenderBlock::updateHitTestResult):
3333         * rendering/RenderBlock.h:
3334         * rendering/RenderInline.cpp:
3335         (WebCore::RenderInline::updateHitTestResult):
3336         * rendering/RenderInline.h:
3337         * rendering/RenderLineBoxList.cpp:
3338         (WebCore::RenderLineBoxList::hitTest):
3339         * rendering/RenderObject.cpp:
3340         (WebCore::RenderObject::updateHitTestResult):
3341         * rendering/RenderObject.h:
3342         * rendering/RenderView.cpp:
3343         (WebCore::RenderView::updateHitTestResult):
3344         * rendering/RenderView.h:
3345         * rendering/svg/RenderSVGContainer.cpp:
3346         (WebCore::RenderSVGContainer::nodeAtFloatPoint):
3347         * rendering/svg/RenderSVGImage.cpp:
3348         (WebCore::RenderSVGImage::nodeAtFloatPoint):
3349         * rendering/svg/RenderSVGPath.cpp:
3350         (WebCore::RenderSVGPath::nodeAtFloatPoint):
3351         * rendering/svg/RenderSVGRoot.cpp:
3352         (WebCore::RenderSVGRoot::nodeAtPoint):
3353
3354 2011-07-10  Patrick Gansterer  <paroga@webkit.org>
3355
3356         Reviewed by Adam Barth.
3357
3358         Fix member variable order of ContextMenuItem
3359         https://bugs.webkit.org/show_bug.cgi?id=59905
3360
3361         Use the same order at decleration and assignment to silence compiler warning.
3362
3363         * platform/ContextMenuItem.h:
3364
3365 2011-07-10  Dan Bernstein  <mitz@apple.com>
3366
3367         <rdar://problem/9750062> REGRESSION: Button text missing in many iTunes Store pages
3368         https://bugs.webkit.org/show_bug.cgi?id=64236
3369
3370         Reviewed by Maciej Stachowiak.
3371
3372         Test: fast/css/empty-display-none.html
3373
3374         When an :empty selector caused an element to not have a renderer, the check for empty style
3375         change when finishing parsing the elemenet did nothing, because it could not check if the
3376         element’s current style was affected by :empty. The fix is to record the fact that the style
3377         was affected by :empty in ElementRareData in the no-renderer case.
3378
3379         * dom/Element.cpp:
3380         (WebCore::Element::recalcStyle): Clear the m_styleAffectedByEmpty flag.
3381         (WebCore::checkForEmptyStyleChange): If the style is null (meaning there is no renderer), check
3382         Element::styleAffectedByEmpty().
3383         (WebCore::Element::setStyleAffectedByEmpty): Added. Sets the flag in rare data.
3384         (WebCore::Element::styleAffectedByEmpty): Added. Checks for the flag in rare data.
3385         * dom/Element.h:
3386         * dom/ElementRareData.h:
3387         (WebCore::ElementRareData::ElementRareData): Added m_styleAffectedByEmpty and initialized it
3388         to false.
3389         * dom/NodeRenderingContext.cpp:
3390         (WebCore::NodeRendererFactory::createRendererAndStyle): If an element doesn’t need a renderer
3391         and its style is affected by :empty, record this fact in the element by calling setStyleAffectedByEmpty().
3392
3393 2011-07-10  Mark Rowe  <mrowe@apple.com>
3394
3395         Fix the build.
3396
3397         * svg/properties/SVGAttributeToPropertyMap.h: Forward-declare SVGPropertyInfo as a struct
3398         since that's what it is.
3399
3400 2011-07-09  Patrick Gansterer  <paroga@webkit.org>
3401
3402         Unreviewed WinCE build fix for r90680.
3403
3404         Repeat the change done in r90681 for all other SVGAnimated*PropertyTearOff.h files.
3405
3406         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Make create public and remove friendship with SVGAnimatedProperty.
3407         * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
3408         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
3409         * svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.
3410         * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
3411
3412 2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
3413
3414         Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
3415         https://bugs.webkit.org/show_bug.cgi?id=63797
3416
3417         Fix WinCE build. Funny none other platform complained.
3418
3419         * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Make create public, SVGAnimatedProperty needs it - remove friendship with it.
3420
3421 2011-07-09  Nikolas Zimmermann  <nzimmermann@rim.com>
3422
3423         Add a possibility to retrieve the associated SVGAnimatedProperty object for a certain XML attribute
3424         https://bugs.webkit.org/show_bug.cgi?id=63797
3425
3426         Reviewed by Dirk Schulze.
3427
3428         In order to prepare animVal support we need a way to map a given SVG DOM attribute to a SVGAnimatedProperty.
3429         eg. SVGNames::xAttr -> SVGRectElement::xAnimated(), etc. This will be needed to update the animVal of the
3430         SVGAnimatedProperty, if an animation is running. It would required adding a new method to all SVG* classes
3431         that define animated properties. Unfortunately we already have lots of repeated code in methods like
3432         synchronizeProperty / fillAttributeToPropertyTypeMap. Look at SVGRectElement for example:
3433
3434         void SVGRectElement::synchronizeProperty(const QualifiedName& attrName)
3435         {
3436             if (attrName == anyQName()) {
3437                 synchronizeX();
3438                 synchronizeY();
3439                  ...
3440               }
3441
3442             if (attrName == SVGNames::xAttr) {
3443                 synchronizeX();
3444                 return;
3445             }
3446
3447             if (attrName == SVGNames::yAttr) {
3448                 synchronizeY();
3449                 return;
3450             }
3451             ...
3452         }
3453
3454         or
3455
3456         void SVGRectElement::fillAttributeToPropertyTypeMap()
3457         {
3458             AttributeToPropertyTypeMap& attributeToPropertyTypeMap = this->attributeToPropertyTypeMap();